fix 0天不处理外包自动离职

This commit is contained in:
2024-11-29 12:21:55 +08:00
parent 226c5d6891
commit 085999249c

View File

@@ -122,33 +122,41 @@ public class GainfoOutsourceService : IGainfoOutsourceService
var settings = await _factorySettingService.GetListAsync();
//0001/1/1 0:00:00
var nullDateTime = new DateTime(1, 1, 1);
foreach (var outsource in outsources)
foreach (var grp in outsources.GroupBy(x => x.Factory))
{
var setting = settings.First(x => x.Factory == outsource.Factory);
var raiseDateTime = await _dbContext.Queryable<DeviceUploadLogEntity>()
.Where(x => x.UserUniqueNo == outsource.Code)
.GroupBy(x => x.UserUniqueNo)
.Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), outsource.CreateTime))
.SingleAsync();
raiseDateTime = raiseDateTime == nullDateTime ? outsource.CreateTime : raiseDateTime;
if (raiseDateTime.AddDays(setting.NoRecordAutoResignOutsourceDays) < DateTime.Now)
var setting = settings.First(x => x.Factory == grp.Key);
if (setting.NoRecordAutoResignOutsourceDays == 0)
{
try
continue;
}
foreach (var outsource in grp)
{
var raiseDateTime = await _dbContext.Queryable<DeviceUploadLogEntity>()
.Where(x => x.UserUniqueNo == outsource.Code)
.GroupBy(x => x.UserUniqueNo)
.Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), outsource.CreateTime))
.SingleAsync();
raiseDateTime = raiseDateTime == nullDateTime ? outsource.CreateTime : raiseDateTime;
if (raiseDateTime.AddDays(setting.NoRecordAutoResignOutsourceDays) < DateTime.Now)
{
await _gainfoService.ResignAsync(new GainfoResignRequest
try
{
Id = outsource.Id,
Reason = $"{setting.NoRecordAutoResignOutsourceDays}天无打开记录",
Date = DateTime.Now,
IsOutsource = true
});
}
catch (Exception e)
{
_logger.LogError(e, "自动离职外包异常:{msg}", e.Message);
await _gainfoService.ResignAsync(new GainfoResignRequest
{
Id = outsource.Id,
Reason = $"{setting.NoRecordAutoResignOutsourceDays}天无打开记录",
Date = DateTime.Now,
IsOutsource = true
});
}
catch (Exception e)
{
_logger.LogError(e, "自动离职外包异常:{msg}", e.Message);
}
}
}
}