|
@@ -206,11 +206,13 @@ namespace Hotline.Settings.TimeLimits
|
|
|
var workTime = _systemSettingRepository.Get(x => x.Code == SettingConstants.WorkTime);
|
|
|
if (workTime != null)
|
|
|
{
|
|
|
- DateTime WorkBeginTime = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + workTime.SettingValue[0] + ":00");
|
|
|
- DateTime WorkEndTime = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + workTime.SettingValue[1] + ":00");
|
|
|
+ //DateTime WorkBeginTime = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + workTime.SettingValue[0] + ":00");
|
|
|
+ //DateTime WorkEndTime = DateTime.Parse(DateTime.Now.ToShortDateString() + " " + workTime.SettingValue[1] + ":00");
|
|
|
+ DateTime WorkBeginTime = DateTime.Parse(beginTime.ToShortDateString() + " " + workTime.SettingValue[0] + ":00");
|
|
|
+ DateTime WorkEndTime = DateTime.Parse(beginTime.ToShortDateString() + " " + workTime.SettingValue[1] + ":00");
|
|
|
|
|
|
//处理开始时间
|
|
|
- if (beginTime < WorkBeginTime)
|
|
|
+ if (beginTime.Date == WorkBeginTime.Date && beginTime < WorkBeginTime)
|
|
|
{
|
|
|
beginTime = WorkBeginTime;
|
|
|
}
|
|
@@ -221,6 +223,34 @@ namespace Hotline.Settings.TimeLimits
|
|
|
beginTime = WorkBeginTime.AddDays(1);
|
|
|
}
|
|
|
}
|
|
|
+ if (beginTime>=endTime)
|
|
|
+ {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (endTime.Date == WorkEndTime.Date && endTime < WorkBeginTime)
|
|
|
+ {
|
|
|
+ endTime = WorkBeginTime;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (endTime>WorkEndTime)
|
|
|
+ {
|
|
|
+ endTime = WorkBeginTime.AddDays(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ if (!IsWorkDay(endTime))
|
|
|
+ {
|
|
|
+ endTime = DateTime.Parse(endTime.AddDays(1).ToShortDateString() + " " + workTime.SettingValue[0] + ":00");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
int minutes = 0;
|
|
|
int i = 0;
|