Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53050ebed3 | ||
|
|
2f6d522636 | ||
|
|
da0968d003 |
+1
-1
@@ -1 +1 @@
|
||||
1.0.21
|
||||
1.0.22
|
||||
|
||||
@@ -92,26 +92,34 @@ namespace JiraTimeBot.JiraIntegration
|
||||
|
||||
var hasTodayWorklog = false;
|
||||
var workLogs = issue.GetWorklogsAsync().Result;
|
||||
foreach (var workLog in workLogs)
|
||||
var userWorklogs = workLogs.Where(w =>
|
||||
w.CreateDate.GetValueOrDefault().Date == date && w.Author.Equals(settings.JiraUserName,
|
||||
StringComparison.InvariantCultureIgnoreCase)).ToList();
|
||||
|
||||
foreach (var workLog in userWorklogs)
|
||||
{
|
||||
var timeSpent = TimeSpan.FromSeconds(workLog.TimeSpentInSeconds);
|
||||
if (workLog.CreateDate.GetValueOrDefault().Date == date && workLog.Author == settings.JiraUserName)
|
||||
var timeDiff = Math.Abs((timeSpent - taskTimeItem.Time).TotalMinutes);
|
||||
if (timeDiff > 1 || userWorklogs.Count > 1)
|
||||
{
|
||||
var timeDiff = Math.Abs((timeSpent - taskTimeItem.Time).TotalMinutes);
|
||||
if (timeDiff > 1)
|
||||
{
|
||||
_log.Trace($"Время отличается на {timeDiff} минут, удаляю worklog: {taskTimeItem.Branch} {workLog.Author} {workLog.CreateDate}: {workLog.TimeSpent}");
|
||||
if (!dummy)
|
||||
{
|
||||
issue.DeleteWorklogAsync(workLog);
|
||||
}
|
||||
hasTodayWorklog = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_log.Trace($"По задаче {taskTimeItem.Branch} уже есть аналогичный worklog. Пропускаю.");
|
||||
hasTodayWorklog = true;
|
||||
_log.Trace($"Найдено более одного ворклога на задачу, удаляю worklog: {taskTimeItem.Branch} {workLog.Author} {workLog.CreateDate}: {workLog.TimeSpent}");
|
||||
}
|
||||
if (!dummy)
|
||||
{
|
||||
issue.DeleteWorklogAsync(workLog);
|
||||
}
|
||||
hasTodayWorklog = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_log.Trace($"По задаче {taskTimeItem.Branch} уже есть аналогичный worklog. Пропускаю.");
|
||||
hasTodayWorklog = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,6 @@ using System.Runtime.InteropServices;
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.21")]
|
||||
[assembly: AssemblyFileVersion("1.0.21")]
|
||||
[assembly: AssemblyInformationalVersion("1.0.21")]
|
||||
[assembly: AssemblyVersion("1.0.22")]
|
||||
[assembly: AssemblyFileVersion("1.0.22")]
|
||||
[assembly: AssemblyInformationalVersion("1.0.22")]
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace JiraTimeBot.TaskTime
|
||||
_log.Trace($"Погрешность распределения времени: {remainMinutes}. Добавляю к первой задаче.");
|
||||
}
|
||||
|
||||
if (workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes))
|
||||
if (workTimeItems.First().Time.TotalMinutes > Math.Abs(remainMinutes) && remainMinutes < 0)
|
||||
{
|
||||
//если переборщили или не достаточно добавили до 8 часов - скореектируем остаток в первой задаче (она самая трудозатратная).
|
||||
workTimeItems.First().Time += TimeSpan.FromMinutes(remainMinutes);
|
||||
|
||||
Reference in New Issue
Block a user