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),
}
}
};