Dun.Jason 1 жил өмнө
parent
commit
ab2b1d26bd

+ 1 - 1
src/Hotline.Api/Controllers/TestController.cs

@@ -184,7 +184,7 @@ public class TestController : BaseController
 
         //int a = _timeLimitDomainService.CalcWorkTime(DateTime.Now, DateTime.Parse("2023-09-11 16:21:00"));
         //int m = _timeLimitDomainService.CalcWorkTime(DateTime.Parse("2023-09-19 12:00:00"), DateTime.Parse("2023-09-20 18:00:00"), false);
-        var r = _timeLimitDomainService.CalcEndTime(DateTime.Parse("2024-02-28 18:00:00"), ETimeType.WorkDay,3,false,50);
+        var r = _timeLimitDomainService.CalcEndTime(DateTime.Parse("2024-02-29 10:12:33"), ETimeType.WorkDay,3,false,80);
         //await _wfModuleDomainService.PersistenceModulesAsync(HttpContext.RequestAborted);
 
         //var rsp = await _daprClient.InvokeMethodAsync<ApiResponse<string>>(HttpMethod.Get, "identity", "api/v1/Test/time", HttpContext.RequestAborted);

+ 10 - 3
src/Hotline/Settings/TimeLimits/TimeLimitDomainService.cs

@@ -493,9 +493,16 @@ namespace Hotline.Settings.TimeLimits
                                 }
                                 else if(totalWorkMinutes < workMinutes && totalWorkMinutes != 0)
                                 {
-                                    startTime = startTime.AddDays(day);
-                                    startTime = DateTime.Parse(startTime.ToShortDateString() + " " + workTimeWorkDay.SettingValue[0] + ":00").AddMinutes(totalWorkMinutes);
-                                    totalWorkMinutes = 0;
+                                    if (startTime.AddMinutes(totalWorkMinutes)> DateTime.Parse(startTime.ToShortDateString() + " " + workTimeWorkDay.SettingValue[1] + ":00"))
+                                    {
+                                        startTime = startTime.AddDays(day);
+                                        startTime = DateTime.Parse(startTime.ToShortDateString() + " " + workTimeWorkDay.SettingValue[0] + ":00").AddMinutes(totalWorkMinutes);
+                                        totalWorkMinutes = 0;
+                                    }
+                                    else
+                                    {
+                                        startTime = startTime.AddMinutes(totalWorkMinutes);
+                                    }
                                 }
                                 day = 1;
                             }