From 2c67fda9a68bc4eb666ebd48595cf4a689398efb Mon Sep 17 00:00:00 2001 From: liguoyang Date: Wed, 2 Apr 2025 15:01:09 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=89=8B=E5=8A=A8=E6=B7=BB=E5=8A=A0isDel?= =?UTF-8?q?eted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DevicePermissionAnalyzeService.cs | 14 +++-- .../GainfoPermissionsController.cs | 12 ----- .../Services/IGainfoPermissionService.cs | 4 -- .../Implements/GainfoPermissionService.cs | 53 +------------------ .../Implements/GainfoUpdateService.cs | 1 - .../Implements/SapBusinessTripService.cs | 12 ++++- .../BusinessPlacePermissionsService.cs | 2 +- 7 files changed, 23 insertions(+), 75 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs index 4ddfdacc..68f40647 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionAnalyzeService.cs @@ -96,15 +96,23 @@ public class DevicePermissionAnalyzeService : IDevicePermissionAnalyzeService var enableFactoryPermissions = await _dbContext.Queryable().ToListAsync(); - var gainfoGroupRelationships = await _dbContext.Queryable().Where(x => userNos.Contains(x.UserNo)).ToListAsync(); + var gainfoGroupRelationships = await _dbContext.Queryable() + .Where(x => x.IsDeleted == false) + .Where(x => userNos.Contains(x.UserNo)) + .ToListAsync(); var gainfoGroups = await _dbContext.Queryable().ToListAsync(); var devicePermissions = await _dbContext.Queryable() + .Where(x => x.IsDeleted == false) .Select() .ToListAsync(); - var deviceGroups = await _dbContext.Queryable().ToListAsync(); - var deviceRelationships = await _dbContext.Queryable().ToListAsync(); + var deviceGroups = await _dbContext.Queryable() + .Where(x => x.IsDeleted == false) + .ToListAsync(); + var deviceRelationships = await _dbContext.Queryable() + .Where(x => x.IsDeleted == false) + .ToListAsync(); var departments = await _dbContext.Queryable().ToListAsync(); var result = new ConcurrentDictionary>(); diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs index 66d00009..90cc1b53 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs @@ -22,18 +22,6 @@ public class GainfoPermissionsController : ControllerBase _gainfoPermissions = gainfoPermissions; } - /// - /// 根据档案号 设备组查询设备 - /// - /// - /// - /// - [HttpGet("devicesUnderGroupByUserNo")] - public async Task> GetDevicesUnderGroupByUserNoAsync(string userNo, Guid deviceGroupCode) - { - return await _gainfoPermissions.GetDevicesUnderGroupByUserNoAsync(userNo, deviceGroupCode); - } - /// /// 获取用户所有设备权限 /// diff --git a/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs index 706d6710..f7a8e2a0 100644 --- a/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/IGainfoPermissionService.cs @@ -1,7 +1,6 @@ using Dlhis.Basic.Device.Response; using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; -using Dlhis.Basic.Places.Response; using Dlhis.Entity.Device.Enums; using Kurisu.AspNetCore.DataAccess.Dto; @@ -9,12 +8,9 @@ namespace Dlhis.Basic.Organization.Services; public interface IGainfoPermissionService : IScopeDependency { - Task> GetDevicesUnderGroupByUserNoAsync(string userNo, Guid deviceGroupCode); - Task> GetAssignDeviceCodesAsync(DeviceAssRequest request); Task> GetAssignDeviceCodesAsync(DeviceAssUserCodeRequest request); - Task ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, List deviceCodes, string source); } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs index a8a158a1..d05b41d2 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs @@ -24,58 +24,7 @@ public class GainfoPermissionService : IGainfoPermissionService _devicePermissionAnalyzeService = devicePermissionAnalyzeService; _dbContext = dbContext; } - - - public async Task> GetDevicesUnderGroupByUserNoAsync(string userNo, Guid deviceGroupCode) - { - var deviceGroups = await _dbContext.Queryable().ToListAsync(); - var currentGroup = deviceGroups.FirstOrDefault(x => x.Code == deviceGroupCode); - if (currentGroup == null) - { - return new List(); - } - - var groups = RecursionHelper.HandlerDeviceGroupNextCodes(currentGroup.Code, deviceGroups); - - return groups.Select(groupCode => - { - var nos = _dbContext.Queryable() - .LeftJoin((x, d) => x.DeviceCode == d.Code) - .Where(x => groupCode == x.GroupCode) - .Select((x, d) => d.UniqueNo) - .ToList(); - - var page = _dbContext.Queryable() - .LeftJoin((d, dt) => d.TemplateCode == dt.Code) - .LeftJoin((d, dt, dr) => d.UniqueNo == dr.DeviceUniqueNo) - .LeftJoin((d, dt, dr, bp) => dr.BusinessPlaceCode == bp.Code) - .Where(d => nos.Contains(d.UniqueNo)) - .Select((d, dt, dr, bp) => new DevicePageResponse - { - FuncsStr = d.Funcs.ToString(), - Brand = dt.Brand, - Type = d.Type, - BusinessPlaceCode = bp.Code, - BusinessPlaceName = bp.Name, - LastHeartbeatTime = dr.LastHeartbeatTime, - UniqueNo = d.UniqueNo, - Supplier = d.Supplier, - DeployPlace = d.DeployPlace, - DeployPosition = d.DeployPosition, - DeployDirection = d.DeployDirection, - TemplateCode = dt.Code, - ConnectionInfo = d.ConnectionInfo, - Enable = d.Enable, - }) - .ToList(); - - return new GetDevicesUnderGroupByUserNoResponse - { - GroupCode = groupCode, - Devices = page - }; - }).ToList(); - } + /// public async Task> GetAssignDeviceCodesAsync(DeviceAssUserCodeRequest request) diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs index 7a129f97..7971716a 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoUpdateService.cs @@ -82,7 +82,6 @@ public class GainfoUpdateService : IGainfoUpdateService } } - public async Task TodoByCodeAsync(string code) { _logger.LogInformation("SAP根据学工号同步开始:{code}", code); diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/SapBusinessTripService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/SapBusinessTripService.cs index 75084bc2..5ec4279a 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/SapBusinessTripService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/SapBusinessTripService.cs @@ -34,7 +34,7 @@ public class SapBusinessTripService : ISapBusinessTripService /// public async Task HandlerBusinessTripsByFactoryAsync(string factory) { - var today =DateTime.Today; + var today = DateTime.Today; var yesterday = today.AddDays(-1); try @@ -84,7 +84,15 @@ public class SapBusinessTripService : ISapBusinessTripService if (deviceCodes.Any()) { - var userCodes = tripInfos.Select(x => x.Code).Distinct().ToList(); + //排除当前记录存例外的人员 + var manuallyUserCodes = await _dbContext.Queryable() + .LeftJoin((x, ga) => x.UserNo == ga.No) + .Where(x => x.TenantId == factory) + .Select((x, ga) => ga.Code) + .Distinct() + .ToListAsync(); + + var userCodes = tripInfos.Select(x => x.Code).Distinct().Where(x => !manuallyUserCodes.Contains(x)).ToList(); var gainfos = await _dbContext.Queryable() .Where(x => x.Factory != factory) //排除本基地出差 .Where(x => userCodes.Contains(x.Code)) diff --git a/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs b/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs index 2b6b9ecf..a60bacf8 100644 --- a/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs +++ b/Src/Dlhis.Basic/Places/Services/Implements/BusinessPlacePermissionsService.cs @@ -41,7 +41,7 @@ public class BusinessPlacePermissionsService : IBusinessPlacePermissionsService var users = await _userApi.GetUserByIdsAsync(new IdsRequest { Ids = page.Data.Select(x => x.UserId).Distinct().ToList() }); page.Data.ForEach(item => { item.UserName = users.FirstOrDefault(x => x.Id == item.UserId)?.UserName; }); } - catch (Exception e) + catch (Exception) { //ignore }