feat(api,bll,dal,esppScheduleSync,TemplateGenerator): изменен рассчет nextRun для задания роботу и синхронизатору, подставляется в зависимости от настроек ЗО и таймзоны УЗ робота ЕСПП. Переименование полей в БД
This commit is contained in:
@@ -3,26 +3,47 @@ using PARR.API.Contracts.V1.Responses;
|
||||
using PARR.BLL.Helpers;
|
||||
using PARR.DAL.Contracts;
|
||||
using PARR.DAL.Models;
|
||||
using PARR.DAL.TransformServices;
|
||||
using PARR.DAL.Services.Interfaces.Schedule;
|
||||
|
||||
namespace PARR.API.MappingProfiles.Resolvers
|
||||
{
|
||||
public class RobotTaskScheduleNextStartResolver : IValueResolver<RobotConfiguration, RobotTaskScheduleResponse, string>
|
||||
{
|
||||
private readonly SettingsFromDb settingsFromDb;
|
||||
private readonly INextRunModifierService nextRunModifierService;
|
||||
//public class RobotTaskScheduleNextStartResolver : IValueResolver<RobotConfiguration, RobotTaskScheduleResponse, string>
|
||||
//{
|
||||
// private readonly SettingsFromDb settingsFromDb;
|
||||
// private readonly INextRunModifierService nextRunModifierService;
|
||||
// private readonly IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService;
|
||||
|
||||
public RobotTaskScheduleNextStartResolver(SettingsFromDb settingsFromDb, INextRunModifierService nextRunModifierService)
|
||||
{
|
||||
this.settingsFromDb = settingsFromDb;
|
||||
this.nextRunModifierService = nextRunModifierService;
|
||||
}
|
||||
// public RobotTaskScheduleNextStartResolver(
|
||||
// SettingsFromDb settingsFromDb,
|
||||
// INextRunModifierService nextRunModifierService,
|
||||
// IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService
|
||||
// )
|
||||
// {
|
||||
// this.settingsFromDb = settingsFromDb;
|
||||
// this.nextRunModifierService = nextRunModifierService;
|
||||
// this.scheduleResponseAreaTimeOffsetService = scheduleResponseAreaTimeOffsetService;
|
||||
// }
|
||||
|
||||
public string Resolve(RobotConfiguration source, RobotTaskScheduleResponse destination, string destMember, ResolutionContext context)
|
||||
{
|
||||
var nextRunForRobot = nextRunModifierService.GetNextRunByAccountRobotTimeZone(source.Template!.NextRun);
|
||||
// public string Resolve(RobotConfiguration source, RobotTaskScheduleResponse destination, string destMember, ResolutionContext context)
|
||||
// {
|
||||
// var nextRunForRobot = nextRunModifierService.GetNextRunByAccountRobotTimeZone(source.Template!.NextRun);
|
||||
|
||||
return EsppScheduleHelpers.GetNextRun(nextRunForRobot);
|
||||
}
|
||||
}
|
||||
// // Сначала прибавляем офсет УЗ ЕСПП
|
||||
// // потом прибаляем = офсет УЗ ЕСПП - offset ЗО
|
||||
|
||||
// // если включен - IsWorkGroupTimezone - группировка по таймозне группы, применяем тайм зону группы
|
||||
// if (source.Template?.Job?.Group?.IsWorkGroupTimezone == true)
|
||||
// {
|
||||
// var responseArea = "TODO";
|
||||
// var esppOffset = new TimeSpan(settingsFromDb.EsppRobotAccountTimeZoneHour, 0, 0);
|
||||
// var workGroupOffset = scheduleResponseAreaTimeOffsetService.GetByResponseAreaOrDefault(responseArea).UtcTimeOffset;
|
||||
|
||||
// var resultOffset = esppOffset - workGroupOffset;
|
||||
|
||||
// nextRunForRobot = nextRunForRobot.Add(resultOffset);
|
||||
// }
|
||||
|
||||
// return EsppScheduleHelpers.GetNextRun(nextRunForRobot);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user