fix 逻辑优化

This commit is contained in:
2024-12-07 10:41:08 +08:00
parent b9cbf1f99a
commit d4c157c1a3
3 changed files with 8 additions and 7 deletions

View File

@@ -793,10 +793,12 @@ public class DevicePermissionService : IDevicePermissionService
//获取人员的设备权限
var userNos = tripInfos.Select(x => x.UserNo).Distinct().ToList();
var result = await GetAssignDeviceCodesInternalAsync(userNos);
foreach (var tripInfo in tripInfos)
{
var myDeviceCodes = await GetAssignDeviceCodesAsync(tripInfo.Code);
var myDeviceCodes = result[tripInfo.UserNo].SelectMany(x => x.Codes);
var devices = await _dbContext.Queryable<DeviceEntity>().Where(x => myDeviceCodes.Contains(x.Code)).ToListAsync();

View File

@@ -170,13 +170,12 @@ public class GainfoPermissionService : IGainfoPermissionService
gainfo.ThrowIfNull($"档案数据有误:{msg}");
//获取人员的设备权限
var myDeviceCodes = await _devicePermissionService.GetAssignDeviceCodesAsync(gainfo!.Code);
if (deviceCodes.IsPresent())
if (deviceCodes.IsEmpty())
{
myDeviceCodes = deviceCodes;
deviceCodes = await _devicePermissionService.GetAssignDeviceCodesAsync(gainfo!.Code);
}
var devices = await _dbContext.Queryable<DeviceEntity>().Where(x => myDeviceCodes.Contains(x.Code)).ToListAsync();
var devices = await _dbContext.Queryable<DeviceEntity>().Where(x => deviceCodes.Contains(x.Code)).ToListAsync();
var tasks = devices.Select(x => new DeviceTaskEntity
{

View File

@@ -101,7 +101,7 @@ public class SapBusinessTripService : ISapBusinessTripService
await _dbContext.UpdateAsync(todayTripInfo);
//下发
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, null);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, deviceCodes);
continue;
}
@@ -149,7 +149,7 @@ public class SapBusinessTripService : ISapBusinessTripService
todayTripInfo.Status = BusinessTripStatusEnumType.Generated;
await _dbContext.UpdateAsync(todayTripInfo);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, null);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, deviceCodes);
}
}
catch (Exception e)