using System; using System.Collections.Generic; using System.Linq; using System.Text; using Edu.Model.Entity.System; namespace Edu.Repository.System { public class RB_System_HolidayRepository : BaseRepository { /// /// 表名称 /// public string TableName { get { return nameof(RB_System_Holiday); } } /// /// 节假日列表 /// /// 当前页 /// 每页显示条数 /// 查询条件 /// 总条数 /// public List GetPageList(int pageIndex, int pageSize, RB_System_Holiday model, out long count) { StringBuilder sb = new StringBuilder(); sb.AppendFormat(@" SELECT a.* from RB_System_Holiday as a where 1=1"); sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.Status), (int)Common.Enum.DateStateEnum.Normal); if (model.HolidayId > 0) { sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.HolidayId), model.HolidayId); } if (model.Group_Id > 0) { sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.Group_Id), model.Group_Id); } if (model.StartTime.HasValue) { sb.AppendFormat(" AND DATE_FORMAT(A.{0}, '%y/%m/%d') >= DATE_FORMAT('{1}', '%y/%m/%d') ", nameof(RB_System_Holiday.StartTime), model.StartTime.Value.ToString("yyyy-MM-dd")); } if (model.EndTime.HasValue) { sb.AppendFormat(" AND DATE_FORMAT(A.{0}, '%y/%m/%d') <= DATE_FORMAT('{1}', '%y/%m/%d') ", nameof(RB_System_Holiday.StartTime), model.EndTime.Value.ToString("yyyy-MM-dd")); } if (model.Group_Id > 0) { sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.Group_Id), model.Group_Id); } if (model.DayType > 0) { sb.AppendFormat(" AND A.{0}={1} ", nameof(RB_System_Holiday.DayType), model.DayType); } sb.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_System_Holiday.StartTime)); return GetPage(pageIndex, pageSize, out count, sb.ToString()).ToList(); } /// /// 判断某一天是否在节假日里 /// /// /// public List GetDayhList(string NowDay) { string sql = $@"SELECT * FROM RB_System_Holiday WHERE `Status` = 0 AND DATE_FORMAT(StartTime, '%y/%m/%d') <= DATE_FORMAT('{NowDay}', '%y/%m/%d') AND DATE_FORMAT(EndTime, '%y/%m/%d') >= DATE_FORMAT('{NowDay}', '%y/%m/%d') "; return Get(sql).ToList(); } /// /// 判断某一个时间段是否在节假日里 /// /// /// public List GetExistHoliday(string startTime, string endTime) { string sql = $@"SELECT * FROM RB_System_Holiday WHERE `Status` = 0 and (( DATE_FORMAT(StartTime, '%y/%m/%d') <= DATE_FORMAT('{startTime}', '%y/%m/%d') AND DATE_FORMAT(EndTime, '%y/%m/%d') >= DATE_FORMAT('{startTime}', '%y/%m/%d')) or ( DATE_FORMAT(StartTime, '%y/%m/%d') <= DATE_FORMAT('{endTime}', '%y/%m/%d') AND DATE_FORMAT(EndTime, '%y/%m/%d') >= DATE_FORMAT('{endTime}', '%y/%m/%d')) or (DATE_FORMAT(EndTime, '%y/%m/%d') <= DATE_FORMAT('{endTime}', '%y/%m/%d')) ) "; return Get(sql).ToList(); } } }