test .
This commit is contained in:
@@ -215,4 +215,11 @@ public class WorkGridsController : ControllerBase
|
||||
{
|
||||
await _workGridScheduleService.ManuallyUploadAsync(logIds);
|
||||
}
|
||||
|
||||
|
||||
[HttpPost("test")]
|
||||
public async Task<object> Test(WorkGridScheduleSaveRequest request)
|
||||
{
|
||||
return await _workGridScheduleService.TestAsync(request);
|
||||
}
|
||||
}
|
||||
@@ -25,4 +25,6 @@ public interface IWorkGridScheduleService : IScopeDependency
|
||||
Task ManuallyUploadAsync(List<long> logIds);
|
||||
|
||||
Task<List<WorkGridScheduleMaximumConsecutiveDto>> MaximumConsecutiveUserCodesAsync(List<string> userCodes, int days, DateOnly date);
|
||||
|
||||
Task<object> TestAsync(WorkGridScheduleSaveRequest request);
|
||||
}
|
||||
@@ -142,6 +142,34 @@ public class WorkGridScheduleService : IWorkGridScheduleService
|
||||
_logger.LogError("推送信息错误save,{error}", e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public async Task<object> TestAsync(WorkGridScheduleSaveRequest request)
|
||||
{
|
||||
request.UserCodes = request.UserCodes.Distinct().ToList();
|
||||
|
||||
var workGrid = await _dbContext.Queryable<WorkGridEntity>()
|
||||
.LeftJoin<GainfoEntity>((x, ga) => x.LeaderUserCode == ga.Code)
|
||||
.Where(x => x.Code == request.WorkGridCode)
|
||||
.Select((x, ga) => new
|
||||
{
|
||||
x.Code, x.Name,
|
||||
x.LeaderUserCode,
|
||||
LeaderUserName = ga.Name,
|
||||
x.MaxConsecutiveLimitCount
|
||||
})
|
||||
.SingleAsync();
|
||||
workGrid.ThrowIfNull("工作网格不存在");
|
||||
|
||||
var timeSetting = await _dbContext.Queryable<WorkGridTimePeriodEntity>().Where(x => x.Type == request.PeriodType).Select(x => new { x.Start, x.Before }).SingleAsync();
|
||||
timeSetting.ThrowIfNull("工作网格时间尚未配置,无法操作");
|
||||
|
||||
var currentLimit = request.Date.ToDateTime(timeSetting.Start.Add(-TimeSpan.FromSeconds(timeSetting.Before)));
|
||||
(DateTime.Now >= currentLimit).ThrowIfTrue("当前时间不可修改排班信息");
|
||||
|
||||
return currentLimit;
|
||||
}
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task RemoveAsync(WorkGridScheduleSaveRequest request)
|
||||
|
||||
Reference in New Issue
Block a user