fix 优化获取raiseDateTime?的问题
This commit is contained in:
@@ -354,33 +354,29 @@ public class AppointmentService : IAppointmentService
|
|||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
var settings = await _factorySettingService.GetListAsync(false);
|
var settings = await _factorySettingService.GetListAsync(false);
|
||||||
//0001/1/1 0:00:00
|
|
||||||
var nullDateTime = new DateTime(1, 1, 1);
|
|
||||||
|
|
||||||
//todo 临时处理循环依赖
|
//todo 临时处理循环依赖
|
||||||
var gainfoService = _serviceProvider.GetService<IGainfoService>();
|
var gainfoService = _serviceProvider.GetService<IGainfoService>();
|
||||||
|
|
||||||
//人员分组,key为factory
|
//人员分组,key为factory
|
||||||
foreach (var grp in externals.GroupBy(x => x.Factory))
|
foreach (var exts in externals.GroupBy(x => x.Factory))
|
||||||
{
|
{
|
||||||
//factory的设置
|
//factory的设置
|
||||||
var setting = settings.First(x => x.Factory == grp.Key);
|
var setting = settings.First(x => x.Factory == exts.Key);
|
||||||
if (setting.NoRecordAutoResignExternalDays == 0)
|
if (setting.NoRecordAutoResignExternalDays == 0)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var ext in grp)
|
foreach (var ext in exts)
|
||||||
{
|
{
|
||||||
var raiseDateTime = await _dbContext.Queryable<DeviceUploadLogEntity>()
|
DateTime? raiseDateTime = await _dbContext.Queryable<DeviceUploadLogEntity>()
|
||||||
.Where(x => x.UserUniqueNo == ext.Code)
|
.Where(x => x.UserUniqueNo == ext.Code)
|
||||||
.GroupBy(x => x.UserUniqueNo)
|
.GroupBy(x => x.UserUniqueNo)
|
||||||
.Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), ext.CreateTime))
|
.Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), default(DateTime?)))
|
||||||
.SingleAsync();
|
.SingleAsync();
|
||||||
|
|
||||||
raiseDateTime = raiseDateTime == nullDateTime ? ext.CreateTime : raiseDateTime;
|
if (raiseDateTime.HasValue && raiseDateTime.Value.AddDays(setting.NoRecordAutoResignExternalDays) < DateTime.Now)
|
||||||
|
|
||||||
if (raiseDateTime.AddDays(setting.NoRecordAutoResignExternalDays) < DateTime.Now)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -120,8 +120,6 @@ public class GainfoOutsourceService : IGainfoOutsourceService
|
|||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
var settings = await _factorySettingService.GetListAsync(false);
|
var settings = await _factorySettingService.GetListAsync(false);
|
||||||
//0001/1/1 0:00:00
|
|
||||||
var nullDateTime = new DateTime(1, 1, 1);
|
|
||||||
|
|
||||||
foreach (var grp in outsources.GroupBy(x => x.Factory))
|
foreach (var grp in outsources.GroupBy(x => x.Factory))
|
||||||
{
|
{
|
||||||
@@ -133,16 +131,14 @@ public class GainfoOutsourceService : IGainfoOutsourceService
|
|||||||
|
|
||||||
foreach (var outsource in grp)
|
foreach (var outsource in grp)
|
||||||
{
|
{
|
||||||
var raiseDateTime = await _dbContext.Queryable<DeviceUploadLogEntity>()
|
DateTime? raiseDateTime = await _dbContext.Queryable<DeviceUploadLogEntity>()
|
||||||
.Where(x => x.UserUniqueNo == outsource.Code)
|
.Where(x => x.UserUniqueNo == outsource.Code)
|
||||||
.Where(x => x.TenantId == grp.Key)//本厂区的
|
.Where(x => x.TenantId == grp.Key) //本厂区的
|
||||||
.GroupBy(x => x.UserUniqueNo)
|
.GroupBy(x => x.UserUniqueNo)
|
||||||
.Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), outsource.CreateTime))
|
.Select(x => SqlFunc.IsNull(SqlFunc.AggregateMax(x.RaiseDateTime), default(DateTime?)))
|
||||||
.SingleAsync();
|
.SingleAsync();
|
||||||
|
|
||||||
raiseDateTime = raiseDateTime == nullDateTime ? outsource.CreateTime : raiseDateTime;
|
if (raiseDateTime.HasValue && raiseDateTime.Value.AddDays(setting.NoRecordAutoResignOutsourceDays) < DateTime.Now)
|
||||||
|
|
||||||
if (raiseDateTime.AddDays(setting.NoRecordAutoResignOutsourceDays) < DateTime.Now)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user