package biz.report.agg;
|
|
/**
|
* @author kimi
|
* @description
|
* @date 2024-09-19 13:46
|
*/
|
|
|
public class AggPeroid {
|
private int year;
|
private String quarter;
|
private String month;
|
private int quarterNo;
|
private int monthNo;
|
|
public static AggPeroid createByMonth(int year, String month) {
|
AggPeroid peroid = new AggPeroid();
|
peroid.month = month;
|
peroid.year = year;
|
peroid.monthNo = Integer.parseInt(month);
|
peroid.quarterNo = (peroid.monthNo - 1)/3 + 1;
|
peroid.quarter = String.valueOf(peroid.quarterNo);
|
|
return peroid;
|
}
|
|
public static AggPeroid createByMonth(String year, String month) {
|
AggPeroid peroid = new AggPeroid();
|
peroid.month = month;
|
peroid.year = Integer.valueOf(year);
|
peroid.monthNo = Integer.parseInt(month);
|
peroid.quarterNo = (peroid.monthNo - 1)/3 + 1;
|
peroid.quarter = String.valueOf(peroid.quarterNo);
|
|
return peroid;
|
}
|
|
public void setYear(int year) {
|
this.year = year;
|
}
|
|
public void setQuarter(String quarter) {
|
this.quarter = quarter;
|
this.quarterNo = Integer.parseInt(quarter);
|
}
|
|
public void setMonth(String month) {
|
this.month = month;
|
this.monthNo = Integer.parseInt(month);
|
this.quarterNo = (monthNo - 1)/3 + 1;
|
this.quarter = String.valueOf(quarterNo);
|
}
|
|
public int getYear() {
|
return year;
|
}
|
|
public String getQuarter() {
|
return quarter;
|
}
|
|
public String getMonth() {
|
return month;
|
}
|
|
public int getQuarterNo() {
|
return quarterNo;
|
}
|
|
public int getMonthNo() {
|
return monthNo;
|
}
|
|
|
public String getValueByType(AggPeroidType peroidType) {
|
if (peroidType == null) {
|
return month;
|
}
|
switch (peroidType) {
|
case year:
|
return String.valueOf(year);
|
case quarter:
|
return quarter;
|
case month:
|
return month;
|
default:
|
break;
|
|
}
|
return month;
|
}
|
|
public int getFilterValueByPattern(AggPeroidType peroidType) {
|
if (peroidType == null) {
|
return monthNo;
|
}
|
switch (peroidType) {
|
case year:
|
return year;
|
case quarter:
|
return quarterNo;
|
case month:
|
return monthNo;
|
default:
|
break;
|
|
}
|
return monthNo;
|
}
|
}
|