From cce6785863b3e86f048692e64a71cd5d33ffb590 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 10 Oct 2024 12:28:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/DeviceConnectService.cs | 36 ++++++++++--------- .../Request/GainfoMealPageRequest.cs | 2 +- .../Services/Implements/GainfoGroupService.cs | 8 +++-- .../Implements/GainfoOutsourceService.cs | 16 +++++---- .../Services/Implements/GainfoService.cs | 3 +- 5 files changed, 36 insertions(+), 29 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs index 72d4a785..7cf1612e 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DeviceConnectService.cs @@ -30,12 +30,6 @@ public class DeviceConnectService : IDeviceConnectService businessPlace.ThrowIfNull("营业点不存在"); var device = await GetEnableDeviceAsync(request.UniqueNo, false, request.DeployPlace, businessPlace.TenantId); - if (device.DeployPlace.Equals("AUTO", StringComparison.OrdinalIgnoreCase)) - { - device.DeployPlace = businessPlace.Name; - await _dbContext.UpdateAsync(device); - } - var registry = await _dbContext.Queryable().Where(x => x.DeviceUniqueNo == request.UniqueNo).SingleAsync(); if (registry != null) @@ -45,20 +39,28 @@ public class DeviceConnectService : IDeviceConnectService registry.BusinessPlaceCode = businessPlace.Code; await _dbContext.UpdateAsync(registry); - - return "请勿重复注册设备"; + } + else + { + registry = new DeviceRegistryEntity + { + DeviceUniqueNo = request.UniqueNo, + LastHeartbeatTime = DateTime.Now, + RegisterTime = DateTime.Now, + BusinessPlaceCode = businessPlace.Code, + TenantId = device.TenantId + }; + + await _dbContext.InsertAsync(registry); } - registry = new DeviceRegistryEntity - { - DeviceUniqueNo = request.UniqueNo, - LastHeartbeatTime = DateTime.Now, - RegisterTime = DateTime.Now, - BusinessPlaceCode = businessPlace.Code, - TenantId = device.TenantId - }; + if (request.DeployPlace.Equals("AUTO", StringComparison.OrdinalIgnoreCase)) + device.DeployPlace = businessPlace.Name; + else + device.DeployPlace = request.DeployPlace.IsPresent() ? request.DeployPlace : businessPlace.Name; + + await _dbContext.UpdateAsync(device); - await _dbContext.InsertAsync(registry); return "设备注册成功"; } diff --git a/Src/Dlhis.Basic/Organization/Request/GainfoMealPageRequest.cs b/Src/Dlhis.Basic/Organization/Request/GainfoMealPageRequest.cs index 7dab11fd..41ece6c7 100644 --- a/Src/Dlhis.Basic/Organization/Request/GainfoMealPageRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/GainfoMealPageRequest.cs @@ -11,7 +11,7 @@ public class GainfoMealPageRequest : PageDto public DateTimePeriod SearchDateTimePeriod { get; set; } /// - /// 是否离职 + /// 是否查询离职 /// public bool IsLeave { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs index 27fee37d..d4291220 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoGroupService.cs @@ -89,12 +89,14 @@ public class GainfoGroupService : IGainfoGroupService .ToListAsync(); await _dbContext.DeleteAsync(relations); - request.UserNos = await _dbContext.Queryable() - .Where(x => request.UserNos.Contains(x.No) || request.UserNos.Contains(x.Code)) + var userNos = await _dbContext.Queryable() + .Where(x => request.UserNos.Contains(x.No) || request.UserNos.Contains(x.Code)) //NO和工号匹配 .Select(x => x.No) .ToListAsync(); - var entities = request.UserNos.Select(x => new GainfoGroupRelationshipEntity + (userNos.Count != request.UserNos.Count).ThrowIfTrue("存在权限外人员,无法添加"); + + var entities = userNos.Select(x => new GainfoGroupRelationshipEntity { GroupCode = request.GroupCode, UserNo = x diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs index 170ea3b9..db1866e6 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs @@ -43,13 +43,17 @@ public class GainfoOutsourceService : IGainfoOutsourceService : await GetOutSourceCodeAsync(); await _dbContext.InsertAsync(entity); - await _dbContext.InsertAsync(new OutsourceEntity + + if (!await _dbContext.Queryable().Where(x => x.Code == entity.Code).AnyAsync()) { - Code = entity.Code, - Supplier = request.ExternalInfo.Supplier, - SapCode = request.ExternalInfo.SapCode, - SapPhone = request.ExternalInfo.SapPhone - }); + await _dbContext.InsertAsync(new OutsourceEntity + { + Code = entity.Code, + Supplier = request.ExternalInfo.Supplier, + SapCode = request.ExternalInfo.SapCode, + SapPhone = request.ExternalInfo.SapPhone + }); + } } else { diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index 6c82dc5f..63317086 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -239,8 +239,7 @@ public class GainfoService : IGainfoService public async Task CheckIdNoAndNameMatchAsync(GainfoCheckIdNoAndNameRequest request) { - var gainfo = await _gainfoStore.Queryable(GainfoStatusEnumType.Working).FirstAsync(x => x.IdNo == request.IdNo && x.Name == request.Name); - + var gainfo = await _gainfoStore.Queryable(GainfoStatusEnumType.Working).SingleAsync(x => x.IdNo == request.IdNo && x.Name == request.Name); gainfo.ThrowIfNull("验证失败!"); var protector = _dataProtectionProvider.CreateProtector("gainfo:external:idno");