From 4bd0c2403d78d3b5ba44d99b9683c5ca4b91079e Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 22 Feb 2024 17:43:33 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=AE=BE=E5=A4=87=E7=BB=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=B1=95=E7=A4=BA,=E4=BF=9D=E5=AD=98=E6=8E=A7?= =?UTF-8?q?=E5=88=B6editable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Response/DeviceGroupTreeResponse.cs | 26 ++++++++++++++++++- .../Services/Implements/DeviceGroupService.cs | 6 +++-- .../Device/Entities/DeviceGroupEntity.cs | 7 +++++ .../CommonJobs/CreateDefinitelyGroupJob.cs | 8 +++++- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Response/DeviceGroupTreeResponse.cs b/Src/Dlhis.Basic/Device/Response/DeviceGroupTreeResponse.cs index 6e9588ea..54d2c7fc 100644 --- a/Src/Dlhis.Basic/Device/Response/DeviceGroupTreeResponse.cs +++ b/Src/Dlhis.Basic/Device/Response/DeviceGroupTreeResponse.cs @@ -1,4 +1,7 @@ -namespace Dlhis.Basic.Device.Response; +using Dlhis.Entity.Device.Enums; +using Kurisu.AspNetCore.Utils.Extensions; + +namespace Dlhis.Basic.Device.Response; public class DeviceGroupTreeResponse { @@ -17,6 +20,27 @@ public class DeviceGroupTreeResponse /// public string Name { get; set; } + /// + /// 设备组类型 + /// + public DeviceTypeEnumType? Type { get; set; } + + /// + /// 分组类型描述 + /// + public string TypeDesc + { + get + { + if (!Type.HasValue) + { + return string.Empty; + } + + return Type.Value.GetDescription(); + } + } + /// /// 下级 /// diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs index 04722357..3047a115 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceGroupService.cs @@ -56,8 +56,9 @@ public class DeviceGroupService : IDeviceGroupService if (!request.Id.HasValue) { var entity = request.Adapt(); - + entity.Editable = true; entity.Code = Guid.NewGuid(); + await _dbContext.InsertAsync(entity); } else @@ -65,6 +66,8 @@ public class DeviceGroupService : IDeviceGroupService var entity = await _dbContext.Queryable().Where(x => x.Id == request.Id).FirstAsync(); entity.ThrowIfNull("设备组不存在,无法更新"); + entity.Editable.ThrowIfFalse("不可编辑当前组"); + var nextDevices = await GetDevicesAsync(entity.Code); if (!entity.Type.HasValue) { @@ -75,7 +78,6 @@ public class DeviceGroupService : IDeviceGroupService (request.Type.HasValue && request.Type != entity.Type && nextDevices.Any()).ThrowIfTrue("分组设备类型不匹配,无法修改类型"); } - await _dbContext.UpdateAsync(entity); } } diff --git a/Src/Dlhis.Entity/Device/Entities/DeviceGroupEntity.cs b/Src/Dlhis.Entity/Device/Entities/DeviceGroupEntity.cs index 6d037b6a..b3f44bb9 100644 --- a/Src/Dlhis.Entity/Device/Entities/DeviceGroupEntity.cs +++ b/Src/Dlhis.Entity/Device/Entities/DeviceGroupEntity.cs @@ -37,6 +37,13 @@ public class DeviceGroupEntity : SugarBaseEntity, ITenantId, ISoftDeleted public string Name { get; set; } + /// + /// 是否可编辑 + /// + [SugarColumn(ColumnDescription = "是否可编辑")] + public bool Editable { get; set; } + + public string TenantId { get; set; } diff --git a/Src/Dlhis.ScheduledTask/CommonJobs/CreateDefinitelyGroupJob.cs b/Src/Dlhis.ScheduledTask/CommonJobs/CreateDefinitelyGroupJob.cs index 9390c884..7b8549a8 100644 --- a/Src/Dlhis.ScheduledTask/CommonJobs/CreateDefinitelyGroupJob.cs +++ b/Src/Dlhis.ScheduledTask/CommonJobs/CreateDefinitelyGroupJob.cs @@ -4,6 +4,7 @@ using Dlhis.Entity.Device.Enums; using Dlhis.Sys.Api; using Kurisu.Core.DataAccess.Entity; using Kurisu.SqlSugar.Services; +using Newtonsoft.Json; namespace Dlhis.ScheduledTask.CommonJobs; @@ -28,11 +29,12 @@ public class CreateDefinitelyGroupJob var tenantResult = await _tenantApi.GetTenantsInternalAsync(); var tenants = tenantResult.Data; + _logger.LogInformation("获取基地信息:{json}", JsonConvert.SerializeObject(tenants)); + foreach (var tenant in tenants) { if (!await _dbContext.Queryable().Where(x => x.TenantId == tenant.Code).AnyAsync(x => x.IsDefault)) { - var customGroup = new GainfoGroupEntity { PCode = null, @@ -82,6 +84,7 @@ public class CreateDefinitelyGroupJob Code = Guid.NewGuid(), Type = DeviceTypeEnumType.Attendance, Name = "*通用考勤设备组", + Editable = false, CreatedBy = 1, CreateTime = DateTime.Now, @@ -99,6 +102,7 @@ public class CreateDefinitelyGroupJob Code = Guid.NewGuid(), Type = DeviceTypeEnumType.Attendance, Name = "*专用考勤设备组", + Editable = false, CreatedBy = 1, CreateTime = DateTime.Now, @@ -121,6 +125,7 @@ public class CreateDefinitelyGroupJob Code = Guid.NewGuid(), Type = DeviceTypeEnumType.Door, Name = "*非公共区域", + Editable = false, CreatedBy = 1, CreateTime = DateTime.Now, @@ -141,6 +146,7 @@ public class CreateDefinitelyGroupJob Code = Guid.NewGuid(), Type = DeviceTypeEnumType.Door, Name = "*公共区域", + Editable = false, CreatedBy = 1, CreateTime = DateTime.Now,