Bladeren bron

CalcWorkTimeToDecimal

Dun.Jason 11 maanden geleden
bovenliggende
commit
02d31dfaa8
1 gewijzigde bestanden met toevoegingen van 25 en 14 verwijderingen
  1. 25 14
      src/Hotline/Settings/TimeLimits/TimeLimitDomainService.cs

+ 25 - 14
src/Hotline/Settings/TimeLimits/TimeLimitDomainService.cs

@@ -146,29 +146,40 @@ namespace Hotline.Settings.TimeLimits
             return CalcEndTime(beginTime, timeConfig, acceptTypeCode);
         }
 
+        /// <summary>
+        /// 计算工作时间天数
+        /// </summary>
+        /// <param name="beginTime"></param>
+        /// <param name="endTime"></param>
+        /// <param name="isCenter"></param>
+        /// <returns></returns>
         public decimal CalcWorkTimeToDecimal(DateTime beginTime,DateTime endTime,bool isCenter)
         {
             var min = CalcWorkTime(beginTime, endTime, isCenter);
-            if (isCenter)
-            {
-                return  Math.Round((decimal)min / 60 / 24,2);
-            }
-            else
+            if (min!=0)
             {
-                var workTime = _systemSettingRepository.Get(x => x.Code == SettingConstants.WorkTime);
-                if (workTime!=null)
+                if (isCenter)
                 {
-                    DateTime WorkBeginTime = DateTime.Parse(beginTime.ToShortDateString() + " " + workTime.SettingValue[0] + ":00");
-                    DateTime WorkEndTime = DateTime.Parse(beginTime.ToShortDateString() + " " + workTime.SettingValue[1] + ":00");
+                    return Math.Round((decimal)min / 60 / 24, 2);
+                }
+                else
+                {
+                    var workTime = _systemSettingRepository.Get(x => x.Code == SettingConstants.WorkTime);
+                    if (workTime != null)
+                    {
+                        DateTime WorkBeginTime = DateTime.Parse(beginTime.ToShortDateString() + " " + workTime.SettingValue[0] + ":00");
+                        DateTime WorkEndTime = DateTime.Parse(beginTime.ToShortDateString() + " " + workTime.SettingValue[1] + ":00");
 
-                    TimeSpan minuteSpan = new TimeSpan(WorkEndTime.Ticks - WorkBeginTime.Ticks);
-                    //总时差分钟数
-                    int minutes = (int)minuteSpan.TotalMinutes;
+                        TimeSpan minuteSpan = new TimeSpan(WorkEndTime.Ticks - WorkBeginTime.Ticks);
+                        //总时差分钟数
+                        int minutes = (int)minuteSpan.TotalMinutes;
 
-                    return Math.Round((decimal)min / minutes, 2);
+                        return Math.Round((decimal)min / minutes, 2);
+                    }
+                    return 0;
                 }
-                return 0;
             }
+            return 0;
 
         }