From c7727769628ca69d4f8fe32768576f94643aa0f4 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Sun, 7 Apr 2024 20:26:10 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=9D=83=E9=99=90=E9=87=8D=E5=8F=91?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6=E7=A6=BB=E8=81=8C=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/GainfoPermissionsController.cs | 2 ++ .../Request/GainfoPermissionResetRequest.cs | 5 +++++ .../Services/Implements/GainfoPermissionService.cs | 14 ++++++++++++-- .../Summary/Services/Implements/SummaryService.cs | 12 ++++++------ 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs index 7eb1795e..fbee4251 100644 --- a/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs +++ b/Src/Dlhis.Basic/Organization/Controllers/GainfoPermissionsController.cs @@ -3,6 +3,7 @@ using Dlhis.Basic.Device.Response; using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; +using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop; using Kurisu.Core.DataAccess.Dto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -72,6 +73,7 @@ public class GainfoPermissionsController : ControllerBase /// /// [HttpPost("reset")] + [IgnoreTenant] public async Task ResetPermissionsAsync(GainfoPermissionResetRequest request) { await _gainfoPermissions.ResetPermissionsAsync(request); diff --git a/Src/Dlhis.Basic/Organization/Request/GainfoPermissionResetRequest.cs b/Src/Dlhis.Basic/Organization/Request/GainfoPermissionResetRequest.cs index bea8a01b..b92bb469 100644 --- a/Src/Dlhis.Basic/Organization/Request/GainfoPermissionResetRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/GainfoPermissionResetRequest.cs @@ -9,4 +9,9 @@ public class GainfoPermissionResetRequest /// [Required] public string UserNo { get; set; } + + /// + /// 是否是离职 + /// + public bool IsLeave { get; set; } } diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs index d0cfd27d..3495db1a 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoPermissionService.cs @@ -199,7 +199,17 @@ public class GainfoPermissionService : IGainfoPermissionService public async Task ResetPermissionsAsync(GainfoPermissionResetRequest request) { - var gainfo = await _dbContext.Queryable().Where(x => x.No == request.UserNo).SingleAsync(); + var gainfo = await _dbContext.Queryable() + .Where(x => x.No == request.UserNo) + .SingleAsync(); + + if (request.IsLeave) + { + gainfo = await _dbContext.Queryable().AS("GainfoLeave") + .Where(x => x.No == request.UserNo) + .SingleAsync(); + } + gainfo.ThrowIfNull("档案数据不存在"); var deviceCodes = await _devicePermissionService.GetAssignDeviceCodesAsync(request.UserNo); @@ -212,7 +222,7 @@ public class GainfoPermissionService : IGainfoPermissionService DeviceUniqueNo = x.UniqueNo, Status = DeviceTaskStatusEnumType.Wait, UserNo = request.UserNo, - Type = DeviceTaskEnumType.Add, + Type = request.IsLeave ? DeviceTaskEnumType.Delete : DeviceTaskEnumType.Add, TenantId = gainfo.Factory, }) .ToList(); diff --git a/Src/Dlhis.Basic/Summary/Services/Implements/SummaryService.cs b/Src/Dlhis.Basic/Summary/Services/Implements/SummaryService.cs index c48fd8dc..3176ad01 100644 --- a/Src/Dlhis.Basic/Summary/Services/Implements/SummaryService.cs +++ b/Src/Dlhis.Basic/Summary/Services/Implements/SummaryService.cs @@ -75,12 +75,12 @@ public class SummaryService : ISummaryService Unemployed = leaveGainfos.Count, GainfoTrend = new GainfoTrendResponse { - EmployedTrend = FixTrend(workingGainfos.Where(x => x.CreateTime >= before7Day && x.CreateTime <= currentDay) - .GroupBy(x => x.CreateTime.Date) - .Select(x => new TrendDto { Date = x.Key, Count = x.Count() }), before7Day, currentDay), - UnemployedTrend = FixTrend(leaveGainfos.Where(x => x.CreateTime >= before7Day && x.CreateTime <= currentDay) - .GroupBy(x => x.CreateTime.Date) - .Select(x => new TrendDto { Date = x.Key, Count = x.Count() }), before7Day, currentDay), + EmployedTrend = FixTrend(workingGainfos.Where(x => x.EntryDate >= before7Day && x.EntryDate <= currentDay) + .GroupBy(x => x.EntryDate) + .Select(x => new TrendDto { Date = x.Key.Value, Count = x.Count() }), before7Day, currentDay), + UnemployedTrend = FixTrend(leaveGainfos.Where(x => x.ResignationDate >= before7Day && x.ResignationDate <= currentDay) + .GroupBy(x => x.ResignationDate) + .Select(x => new TrendDto { Date = x.Key.Value, Count = x.Count() }), before7Day, currentDay), } } };