From f56d1129c1ccd78224436ecde9bd6c26e76d2b75 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 11 Mar 2024 11:33:13 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BC=98=E5=8C=96=E6=B3=A8=E9=87=8A,=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96face=E9=80=9A=E7=94=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/DevicePermissionService.cs | 9 ++++++--- .../Services/Implements/GainfoService.cs | 19 ++++++++++++++----- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index a460129d..f3c56a47 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -27,10 +27,10 @@ public class DevicePermissionService : IDevicePermissionService public async Task AssignAsync(DevicePermissionSaveReuqest reuqest) { - var tenantId = reuqest.AssignType == AssignTypeEnumType.Department ? reuqest.TenantId : _currentUser.GetStringTenantId(); - await GenerateDeviceTasksAsync(async () => { + var tenantId = reuqest.AssignType == AssignTypeEnumType.Department ? reuqest.TenantId : _currentUser.GetStringTenantId(); + //删除当前匹配的基地权限 var p = await _dbContext.Queryable() .Where(x => x.AssignType == reuqest.AssignType) @@ -481,12 +481,13 @@ public class DevicePermissionService : IDevicePermissionService //获取人员的分组,跨基地 var gainfoGroups = gainfoGroupRelationships.Where(x => x.UserNo == userNo).Select(x => x.GroupCode).ToList(); - //按User获取权限 + //按用户 var du = GetAssignCodesInternal(devicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Device, AssignTypeEnumType.User, userNo); var gu = GetAssignCodesInternal(devicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Group, AssignTypeEnumType.User, userNo); deviceCodes.AddRange(du); deviceGroupCodes.AddRange(gu); + //按用户组 foreach (var groupCode in gainfoGroups) { var dg = GetAssignCodesInternal(devicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Device, AssignTypeEnumType.Group, groupCode.ToString()); @@ -495,12 +496,14 @@ public class DevicePermissionService : IDevicePermissionService deviceGroupCodes.AddRange(gg); } + //按部门 var gainfoFactoryDevicePermissions = devicePermissions.Where(x => x.TenantId == gainfo.Factory).ToList(); var dd = GetAssignCodesInternal(gainfoFactoryDevicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Device, AssignTypeEnumType.Department, gainfo.DepartmentNo); var gd = GetAssignCodesInternal(gainfoFactoryDevicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Group, AssignTypeEnumType.Department, gainfo.DepartmentNo); deviceCodes.AddRange(dd); deviceGroupCodes.AddRange(gd); + //按厂区 var dt = GetAssignCodesInternal(devicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Device, AssignTypeEnumType.Tenant, gainfo.Factory); var gt = GetAssignCodesInternal(devicePermissions, deviceGroups, DeviceAssignmentTypeEnumType.Group, AssignTypeEnumType.Tenant, gainfo.Factory); deviceCodes.AddRange(du); diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index c7ceda84..4b61a811 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -233,8 +233,11 @@ public class GainfoService : IGainfoService gainfo.ThrowIfNull("人员档案信息不存在"); - var dbContext = _dbContext.ChangeDb("face"); - var face = await dbContext.Queryable().Where(x => x.UserCode == gainfo.Code).SingleAsync(); + + var userId = _currentUser.GetIntSubjectId(); + + var faceContext = _dbContext.ChangeDb("face"); + var face = await faceContext.Queryable().Where(x => x.UserCode == gainfo.Code).SingleAsync(); var taskType = face == null ? DeviceTaskEnumType.Add : DeviceTaskEnumType.Update; @@ -244,10 +247,14 @@ public class GainfoService : IGainfoService face = new GainfoFaceEntity { UserCode = gainfo.Code, - Face = request.Face + Face = request.Face, + CreateTime = DateTime.Now, + ModifiedTime = DateTime.Now, + CreatedBy = userId, + ModifiedBy = userId }; - await dbContext.InsertAsync(face); + await faceContext.InsertAsync(face); } else { @@ -258,7 +265,9 @@ public class GainfoService : IGainfoService } face.Face = request.Face; - await dbContext.UpdateAsync(face); + face.ModifiedBy = userId; + face.ModifiedTime = DateTime.Now; + await faceContext.UpdateAsync(face); } //生成任务