Update split table bug

This commit is contained in:
sunkaixuan
2022-03-09 13:07:07 +08:00
parent 1cb1c81195
commit e362480d61
2 changed files with 50 additions and 0 deletions

View File

@@ -909,6 +909,21 @@ namespace SqlSugar
{
result = result.Where(y => y.Date.Year >= beginTime.Year && y.Date.Year <= endTime.Year).ToList();
}
else if (SplitType.Week == type.SplitType)
{
var begtinWeek = UtilMethods.GetWeekFirstDayMon(beginTime).Date;
var endWeek = UtilMethods.GetWeekLastDaySun(endTime).Date;
result = result.Where(y =>
y.Date >= begtinWeek&& y.Date <= endWeek).ToList();
}
else if (SplitType.Season == type.SplitType)
{
var beginSeason= Convert.ToDateTime( beginTime.AddMonths(0 - ((beginTime.Month - 1) % 3)).ToString("yyyy-MM-01")).Date;
var endSeason= DateTime.Parse(endTime.AddMonths(3 - ((endTime.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).Date;
result = result.Where(y =>
y.Date >= beginSeason && y.Date <= endSeason).ToList();
}
else
{
result = result.Where(y => y.Date >= beginTime.Date && y.Date <= endTime.Date).ToList();

View File

@@ -505,5 +505,40 @@ namespace SqlSugar
return item.FieldValue;
}
}
/// <summary>
/// Get Week Last Day Sun
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public static DateTime GetWeekLastDaySun(DateTime datetime)
{
//星期天为最后一天
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
weeknow = (weeknow == 0 ? 7 : weeknow);
int daydiff = (7 - weeknow);
//本周最后一天
string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
return Convert.ToDateTime(LastDay);
}
/// <summary>
/// Get Week First Day Mon
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public static DateTime GetWeekFirstDayMon(DateTime datetime)
{
//星期一为第一天
int weeknow = Convert.ToInt32(datetime.DayOfWeek);
//因为是以星期一为第一天所以要判断weeknow等于0时要向前推6天。
weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));
int daydiff = (-1) * weeknow;
//本周第一天
string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
return Convert.ToDateTime(FirstDay);
}
}
}