This commit is contained in:
2024-12-26 15:47:18 +08:00
parent fa1d46b197
commit 588c1ff0a7

View File

@@ -103,41 +103,43 @@ public class GainfoPermissionService : IGainfoPermissionService
page.Data.ForEach(item => page.Data.ForEach(item =>
{ {
var permission = permissions.First(x => x.Tenant == item.Factory); var permission = permissions.FirstOrDefault(x => x.Tenant == item.Factory);
if (permission != null)
item.Source = new DevicePermissionSourceDto
{ {
Factory = item.Factory, item.Source = new DevicePermissionSourceDto
Types = permission.AssignTypes.Where(x => x.Codes.Any(p => p == item.Code)).Select(x =>
{ {
var codeDesc = x.UniqueType == DeviceAssignmentTypeEnumType.Device Factory = item.Factory,
? item.DeployPlace Types = permission.AssignTypes.Where(x => x.Codes.Any(p => p == item.Code)).Select(x =>
: deviceGroups.First(p => p.Code == x.OriginalCodes.First()).Name;
var currentAssignValue = x.AssignValue;
currentAssignValue = x.AssignType switch
{ {
AssignTypeEnumType.Department => departments.FirstOrDefault(p => p.No == x.AssignValue.Split(":")[1])?.Name, var codeDesc = x.UniqueType == DeviceAssignmentTypeEnumType.Device
AssignTypeEnumType.Group => userGroups.FirstOrDefault(p => p.Code == Guid.Parse(currentAssignValue))?.Name, ? item.DeployPlace
AssignTypeEnumType.User => "自己", : deviceGroups.FirstOrDefault(p => p.Code == x.OriginalCodes.First())?.Name;
_ => currentAssignValue
};
var r = new DevicePermissionSourceTypeDto var currentAssignValue = x.AssignValue;
{
AssignType = x.AssignType,
AssignValue = currentAssignValue,
UniqueType = x.UniqueType,
Codes = x.UniqueType == DeviceAssignmentTypeEnumType.Device
? x.Codes.Where(p => p == item.Code)
: x.Codes.Take(1),
CodeDesc = codeDesc
};
return r; currentAssignValue = x.AssignType switch
}) {
}; AssignTypeEnumType.Department => departments.FirstOrDefault(p => p.No == x.AssignValue.Split(":")[1])?.Name,
AssignTypeEnumType.Group => userGroups.FirstOrDefault(p => p.Code == Guid.Parse(currentAssignValue))?.Name,
AssignTypeEnumType.User => "自己",
_ => currentAssignValue
};
var r = new DevicePermissionSourceTypeDto
{
AssignType = x.AssignType,
AssignValue = currentAssignValue,
UniqueType = x.UniqueType,
Codes = x.UniqueType == DeviceAssignmentTypeEnumType.Device
? x.Codes.Where(p => p == item.Code)
: x.Codes.Take(1),
CodeDesc = codeDesc
};
return r;
})
};
}
}); });
return page; return page;