公会收入,成员收入增加月榜
(cherry picked from commit 7d03ff0c51d9301e5b71840c3985fd806df94210)
This commit is contained in:
@@ -622,6 +622,7 @@
|
||||
<string name="label_id_format">ID:%d</string>
|
||||
<string name="format_month_day">%1$s月%2$s日</string>
|
||||
<string name="format_year">%s年</string>
|
||||
<string name="format_month">%s月</string>
|
||||
|
||||
<string name="title_room_title_edit">房间公告</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.protocol.StatisticsProtocol;
|
||||
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 java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
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_WEEK = 1;
|
||||
private static final int TYPE_MONTH = 2;
|
||||
|
||||
@BindView(R.id.view_pager)
|
||||
ViewPager viewPager;
|
||||
@@ -86,6 +90,10 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
||||
fragment.setmDayIncomeFragmentListener(this);
|
||||
list.add(fragment);
|
||||
|
||||
fragment = ClanIncomeFragment.getInstance(ClanIncomeFragment.TYPE_MONTH, clanId);
|
||||
fragment.setmDayIncomeFragmentListener(this);
|
||||
list.add(fragment);
|
||||
|
||||
viewPager.setAdapter(adapter);
|
||||
|
||||
// initDay();
|
||||
@@ -118,7 +126,7 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
||||
List<String> tagList = new ArrayList<>();
|
||||
tagList.add("每日统计");
|
||||
tagList.add("每周统计");
|
||||
|
||||
tagList.add("每月统计");
|
||||
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
|
||||
adapter.setOnItemSelectListener(position -> viewPager.setCurrentItem(position));
|
||||
CommonNavigator navigator = new CommonNavigator(this);
|
||||
@@ -144,9 +152,11 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
||||
if (mCurrentType == TYPE_WEEK) {
|
||||
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
||||
StatisticsProtocol.Event.HALL_INCOME_WEEKLY_CLICK, "切换每周统计", null);
|
||||
getWeekIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||
} else{
|
||||
getWeekIncomeTotal(presenter.getWeekFirstDay(), presenter.getWeekLastDay());
|
||||
} else if (mCurrentType == TYPE_DAY) {
|
||||
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()) {
|
||||
case R.id.iv_date_arrow:
|
||||
case R.id.ll_day_group:
|
||||
if (CommonUtils.isFastDoubleClick(500)) return;
|
||||
ClanIncomePresenter presenter = getMvpPresenter();
|
||||
boolean isWeek = mCurrentType == TYPE_WEEK;
|
||||
boolean isMonth = mCurrentType == TYPE_MONTH;
|
||||
|
||||
TimePickerDialog.Builder builder = new TimePickerDialog.Builder()
|
||||
.setType(Type.YEAR_MONTH_DAY)
|
||||
@@ -188,7 +200,8 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
||||
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
||||
// 根据上一次选中时间初始化日期控件
|
||||
.setCurrentMillseconds(isWeek ? presenter.getmWeekChooseDay() : presenter.getmDay())
|
||||
.setmIsWeek(isWeek);
|
||||
.setmIsWeek(isWeek)
|
||||
.setIsMonth(isMonth);
|
||||
|
||||
TimePickerDialog dialog = builder.build();
|
||||
dialog.setmTimePickerListener(this);
|
||||
@@ -209,10 +222,19 @@ public class ClanIncomeActivity extends BaseMvpActivity<IIncomeStatisticsView, C
|
||||
|
||||
} else if (mCurrentType == TYPE_WEEK) {
|
||||
presenter.setmWeekChooseDay(chooseTime);
|
||||
presenter.setmStartTimeStr(weekFirstDay);
|
||||
presenter.setmEndTimeStr(weekLastDay);
|
||||
presenter.setWeekFirstDay(weekFirstDay);
|
||||
presenter.setWeekLastDay(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
|
||||
public void setTotal(double 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.protocol.StatisticsProtocol;
|
||||
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 java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
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_WEEK = 1;
|
||||
private static final int TYPE_MONTH = 2;
|
||||
|
||||
@BindView(R.id.view_pager)
|
||||
ViewPager viewPager;
|
||||
@@ -91,6 +95,10 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
||||
fragment.setmDayIncomeFragmentListener(this);
|
||||
list.add(fragment);
|
||||
|
||||
fragment = DayIncomeFragment.getInstance(DayIncomeFragment.TYPE_MONTH);
|
||||
fragment.setmDayIncomeFragmentListener(this);
|
||||
list.add(fragment);
|
||||
|
||||
viewPager.setAdapter(adapter);
|
||||
|
||||
// initDay();
|
||||
@@ -127,7 +135,7 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
||||
List<String> tagList = new ArrayList<>();
|
||||
tagList.add("每日统计");
|
||||
tagList.add("每周统计");
|
||||
|
||||
tagList.add("每月统计");
|
||||
StatisticsIndicatorAdapter adapter = new StatisticsIndicatorAdapter(tagList, 5);
|
||||
adapter.setOnItemSelectListener(position -> viewPager.setCurrentItem(position));
|
||||
CommonNavigator navigator = new CommonNavigator(this);
|
||||
@@ -155,10 +163,14 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
||||
StatisticManager.Instance().onEvent(BasicConfig.INSTANCE.getAppContext(),
|
||||
StatisticsProtocol.Event.HALL_INCOME_WEEKLY_CLICK, "切换每周统计", null);
|
||||
day = presenter.getWeekChooseDayFormat();
|
||||
} else
|
||||
getIncomeTotal(day, presenter.getWeekFirstDay(), presenter.getWeekLastDay());
|
||||
} else if (mCurrentType == TYPE_DAY) {
|
||||
day = presenter.getDayFormat();
|
||||
getIncomeTotal(day, presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||
} else {
|
||||
getMonthIncomeTotal(presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||
}
|
||||
|
||||
getIncomeTotal(day, presenter.getmStartTimeStr(), presenter.getmEndTimeStr());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -186,9 +198,10 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
||||
switch (view.getId()) {
|
||||
case R.id.iv_date_arrow:
|
||||
case R.id.ll_day_group:
|
||||
if (CommonUtils.isFastDoubleClick(500)) return;
|
||||
IncomeStatisticsPresenter presenter = getMvpPresenter();
|
||||
boolean isWeek = mCurrentType == TYPE_WEEK;
|
||||
|
||||
boolean isMonth = mCurrentType == TYPE_MONTH;
|
||||
TimePickerDialog.Builder builder = new TimePickerDialog.Builder()
|
||||
.setType(Type.YEAR_MONTH_DAY)
|
||||
.setTitleStringId("")
|
||||
@@ -198,7 +211,8 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
||||
.setWheelItemTextSelectorColor(getResources().getColor(R.color.black))
|
||||
// 根据上一次选中时间初始化日期控件
|
||||
.setCurrentMillseconds(isWeek ? presenter.getmWeekChooseDay() : presenter.getmDay())
|
||||
.setmIsWeek(isWeek);
|
||||
.setmIsWeek(isWeek)
|
||||
.setIsMonth(isMonth);
|
||||
|
||||
TimePickerDialog dialog = builder.build();
|
||||
dialog.setmTimePickerListener(this);
|
||||
@@ -219,10 +233,18 @@ public class IncomeStatisticsActivity extends BaseMvpActivity<IIncomeStatisticsV
|
||||
|
||||
} else if (mCurrentType == TYPE_WEEK) {
|
||||
presenter.setmWeekChooseDay(chooseTime);
|
||||
presenter.setmStartTimeStr(weekFirstDay);
|
||||
presenter.setmEndTimeStr(weekLastDay);
|
||||
|
||||
presenter.setWeekFirstDay(weekFirstDay);
|
||||
presenter.setWeekLastDay(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]));
|
||||
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
|
||||
|
@@ -136,7 +136,7 @@ public class HallMenuDialog extends Dialog implements View.OnClickListener {
|
||||
clanLayoutParams.gravity = Gravity.END;
|
||||
ivTopArrow.setLayoutParams(clanLayoutParams);
|
||||
|
||||
ivMenu.setImageResource(R.drawable.ic_set_admin);
|
||||
ivMenu.setImageResource(R.drawable.ic_hall_income);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@@ -4,9 +4,11 @@ import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -38,12 +40,16 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
||||
private String mWeekFirstDay;
|
||||
private String mWeekLastDay;
|
||||
|
||||
/** 显示周区间 */
|
||||
/**
|
||||
* 显示周区间
|
||||
*/
|
||||
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.initialize(pickerConfig, firstMs, isWeek);
|
||||
timePickerDialog.initialize(pickerConfig, firstMs, isWeek, isMonth);
|
||||
return timePickerDialog;
|
||||
}
|
||||
|
||||
@@ -68,10 +74,11 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
||||
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;
|
||||
mFirstMs = firstMs;
|
||||
mIsWeek = isWeek;
|
||||
this.isMonth = isMonth;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -112,6 +119,10 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
||||
title.setTextColor(context.getResources().getColor(R.color.color_333333));
|
||||
cancel.setText(mPickerConfig.mCancelString);
|
||||
sure.setText(mPickerConfig.mSureString);
|
||||
|
||||
if (isMonth) {
|
||||
mPickerConfig.mType = Type.YEAR_MONTH;
|
||||
}
|
||||
toolbar.setBackgroundColor(context.getResources().getColor(R.color.white));
|
||||
|
||||
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,
|
||||
* this will return the system milliseconds.
|
||||
* @param none
|
||||
* @return long - the current milliseconds.
|
||||
*/
|
||||
* @desc This method returns the current milliseconds. If current milliseconds is not set,
|
||||
* this will return the system milliseconds.
|
||||
* @param none
|
||||
* @return long - the current milliseconds.
|
||||
*/
|
||||
public long getCurrentMillSeconds() {
|
||||
if (mCurrentMillSeconds == 0)
|
||||
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
|
||||
* initialized.
|
||||
* @param none
|
||||
* @return none
|
||||
*/
|
||||
* @desc This method is called when onClick method is invoked by sure button. A Calendar instance is created and
|
||||
* initialized.
|
||||
* @param none
|
||||
* @return none
|
||||
*/
|
||||
void sureClicked() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.clear();
|
||||
@@ -213,6 +224,8 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
||||
PickerConfig mPickerConfig;
|
||||
long firstMs;
|
||||
boolean mIsWeek;
|
||||
boolean isMonth;
|
||||
|
||||
public Builder() {
|
||||
mPickerConfig = new PickerConfig();
|
||||
}
|
||||
@@ -283,27 +296,27 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setYearText(String year){
|
||||
public Builder setYearText(String year) {
|
||||
mPickerConfig.mYear = year;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setMonthText(String month){
|
||||
public Builder setMonthText(String month) {
|
||||
mPickerConfig.mMonth = month;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setDayText(String day){
|
||||
public Builder setDayText(String day) {
|
||||
mPickerConfig.mDay = day;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setHourText(String hour){
|
||||
public Builder setHourText(String hour) {
|
||||
mPickerConfig.mHour = hour;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setMinuteText(String minute){
|
||||
public Builder setMinuteText(String minute) {
|
||||
mPickerConfig.mMinute = minute;
|
||||
return this;
|
||||
}
|
||||
@@ -318,8 +331,13 @@ public class TimePickerDialog extends DialogFragment implements View.OnClickList
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setIsMonth(boolean isMonth) {
|
||||
this.isMonth = isMonth;
|
||||
return this;
|
||||
}
|
||||
|
||||
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_WEEK = 1;
|
||||
public static final int TYPE_MONTH = 2;
|
||||
public static final String FLAG_DAY_TYPE = "dayType";
|
||||
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_WEEK = 1;
|
||||
public static final int TYPE_MONTH = 2;
|
||||
public static final String FLAG_DAY_TYPE = "dayType";
|
||||
|
||||
private int mDayType;
|
||||
|
@@ -9,12 +9,16 @@ import com.yizhuan.xchat_android_library.utils.TimeUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
|
||||
public class ClanIncomePresenter extends BaseMvpPresenter<IIncomeStatisticsView> {
|
||||
|
||||
private String mStartTimeStr;
|
||||
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);
|
||||
|
||||
mStartTimeStr = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
|
||||
mEndTimeStr = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
|
||||
weekFirstDay = TimeUtils.getDateTimeString(firstDayTime, 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(double total) {
|
||||
@@ -108,4 +114,19 @@ public class ClanIncomePresenter extends BaseMvpPresenter<IIncomeStatisticsView>
|
||||
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.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
|
||||
public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatisticsView> {
|
||||
@@ -20,6 +21,9 @@ public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatistic
|
||||
/** 日范围内选中的日期 */
|
||||
private long mDay;
|
||||
|
||||
private String weekFirstDay;
|
||||
private String weekLastDay;
|
||||
|
||||
public void initCurrentDay() {
|
||||
mDay = mWeekChooseDay = System.currentTimeMillis();
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
@@ -36,8 +40,11 @@ public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatistic
|
||||
//周日
|
||||
long lastDayTime = firstDayTime + (TimeUtils.MILLIS_OF_A_DAY * 6);
|
||||
|
||||
mStartTimeStr = TimeUtils.getDateTimeString(firstDayTime, TimeUtils.DATE_FORMAT);
|
||||
mEndTimeStr = TimeUtils.getDateTimeString(lastDayTime, TimeUtils.DATE_FORMAT);
|
||||
weekFirstDay = TimeUtils.getDateTimeString(firstDayTime, 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) {
|
||||
@@ -104,4 +111,19 @@ public class IncomeStatisticsPresenter extends BaseMvpPresenter<IIncomeStatistic
|
||||
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() {
|
||||
|
Reference in New Issue
Block a user