fix 增加设备类型

This commit is contained in:
2026-01-26 11:30:42 +08:00
parent 2fdb7b477f
commit 89223a8113
8 changed files with 23 additions and 18 deletions

View File

@@ -54,6 +54,6 @@ public class GainfoPermissionsController : ControllerBase
[HttpPost("reset")]
public async Task<DevicePermissionAssignResponse> ResetPermissionsAsync(GainfoPermissionResetRequest request)
{
return await _gainfoPermissions.ResetPermissionsAsync(request.UserNo, request.Status ? DeviceTaskEnumType.Add : DeviceTaskEnumType.Delete, null, "admin手动操作重置");
return await _gainfoPermissions.ResetPermissionsAsync(request.UserNo, request.Status ? DeviceTaskEnumType.Add : DeviceTaskEnumType.Delete, request.Type, null, "admin手动操作重置");
}
}

View File

@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
using Dlhis.Entity.Device.Enums;
namespace Dlhis.Basic.Organization.Request;
@@ -11,4 +12,7 @@ public class GainfoPermissionResetRequest
/// true下发所有,false删除所有
/// </summary>
public bool Status { get; set; }
[EnumDataType(typeof(DeviceTypeEnumType))]
public DeviceTypeEnumType Type { get; set; }
}

View File

@@ -12,5 +12,5 @@ public interface IGainfoPermissionService : IScopeDependency
Task<Pagination<GainfoDevicePermissionResponse>> GetAssignDeviceCodesAsync(DeviceAssUserCodeRequest request);
Task<DevicePermissionAssignResponse> ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, List<Guid> deviceCodes, string source);
Task<DevicePermissionAssignResponse> ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, DeviceTypeEnumType? deviceType, List<Guid> deviceCodes, string source);
}

View File

@@ -78,7 +78,7 @@ public class GainfoCardService : IGainfoCardService
if (deviceCodes.IsPresent())
{
await _gainfoPermissionService.ResetPermissionsAsync(userNo, DeviceTaskEnumType.Update, deviceCodes, "卡类型编辑下发");
await _gainfoPermissionService.ResetPermissionsAsync(userNo, DeviceTaskEnumType.Update, null, deviceCodes, "卡类型编辑下发");
}
}

View File

@@ -3,7 +3,6 @@ using Dlhis.Basic.Device.Response;
using Dlhis.Basic.Device.Services;
using Dlhis.Basic.Organization.Request;
using Dlhis.Basic.Organization.Response;
using Dlhis.Basic.Utils;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Device.Entities;
using Dlhis.Entity.Device.Enums;
@@ -13,7 +12,6 @@ using Kurisu.AspNetCore.DataAccess.Extensions;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Extensions;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
using Kurisu.AspNetCore.Utils.Extensions;
using Microsoft.AspNetCore.Mvc.RazorPages;
using SqlSugar;
namespace Dlhis.Basic.Organization.Services.Implements;
@@ -341,7 +339,7 @@ public class GainfoPermissionService : IGainfoPermissionService
// }
public async Task<DevicePermissionAssignResponse> ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, List<Guid> deviceCodes, string source)
public async Task<DevicePermissionAssignResponse> ResetPermissionsAsync(string userNo, DeviceTaskEnumType type, DeviceTypeEnumType? deviceType, List<Guid> deviceCodes, string source)
{
var gainfo = await _dbContext.Queryable<GainfoEntity>()
.Where(x => x.No == userNo)
@@ -367,7 +365,10 @@ public class GainfoPermissionService : IGainfoPermissionService
deviceCodes = await _devicePermissionAnalyzeService.GetUserPermissionDeviceCodesAsync(gainfo!.No);
}
var devices = await _dbContext.Queryable<DeviceEntity>().Where(x => deviceCodes.Contains(x.Code)).ToListAsync();
var devices = await _dbContext.Queryable<DeviceEntity>()
.WhereIF(deviceType.HasValue, x => x.Type == deviceType)
.Where(x => deviceCodes.Contains(x.Code))
.ToListAsync();
var tasks = devices.Select(x => new DeviceTaskEntity
{

View File

@@ -278,7 +278,7 @@ public class GainfoService : IGainfoService
}
else
{
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, request.Reason);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, null, request.Reason);
await _dbContext.Deleteable<GainfoGroupRelationshipEntity>().Where(x => x.UserNo == gainfo.No).ExecuteCommandAsync();
await _dbContext.Deleteable<DevicePermissionEntity>().Where(x => x.AssignType == AssignTypeEnumType.User && x.AssignValue == gainfo.No).ExecuteCommandAsync();

View File

@@ -290,7 +290,7 @@ public class GainfoUpdateService : IGainfoUpdateService
if (change.IsPresent())
{
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, $"异动生成({change})");
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, null, $"异动生成({change})");
}
@@ -317,7 +317,7 @@ public class GainfoUpdateService : IGainfoUpdateService
//有变更就重新下发
if (change.IsPresent())
{
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, null, $"异动生成({change})");
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, null, null, $"异动生成({change})");
//只有厂区变更才需要处理工作网格
if (hasFactoryChange)
@@ -367,7 +367,7 @@ public class GainfoUpdateService : IGainfoUpdateService
}
else
{
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, "人员离职生成");
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, null, "人员离职生成");
//先写入离职表
gainfo.IdentityUserId = (int)gainfo.Id; //记录原始id

View File

@@ -88,7 +88,7 @@ public class SapBusinessTripService : ISapBusinessTripService
await _dbContext.UpdateAsync(todayTripInfo);
//下发
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, deviceCodes, "出差昨天今天都有");
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, null, deviceCodes, "出差昨天今天都有");
continue;
}
@@ -107,7 +107,7 @@ public class SapBusinessTripService : ISapBusinessTripService
.ExecuteCommandAsync();
await _dbContext.UpdateAsync(yesterdayTripInfo);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, deviceCodes, "出差昨天有今天无");
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Delete, null, deviceCodes, "出差昨天有今天无");
}
if (yesterdayTripInfo == null)
@@ -136,7 +136,7 @@ public class SapBusinessTripService : ISapBusinessTripService
todayTripInfo.Status = BusinessTripStatusEnumType.Generated;
await _dbContext.UpdateAsync(todayTripInfo);
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, deviceCodes, "出差昨天无今天有");
await _gainfoPermissionService.ResetPermissionsAsync(gainfo.No, DeviceTaskEnumType.Add, null, deviceCodes, "出差昨天无今天有");
}
}
catch (Exception e)