fix 0天不处理外包自动离职
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user