From 86c7111c199d64aa14bde2924ffd46acf5d68063 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Fri, 14 Jun 2024 15:21:35 +0800 Subject: [PATCH] =?UTF-8?q?fix=20external=E6=94=AF=E6=8C=81=E5=A4=96?= =?UTF-8?q?=E5=8C=85=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Organization/Request/GainfoUploadFaceRequest.cs | 5 +++-- .../Response/GainfoOutSourceExternalInfoResponse.cs | 5 +++++ .../Services/Implements/GainfoFaceService.cs | 12 ++++++++++-- .../Services/Implements/GainfoOutsourceService.cs | 7 ++++--- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Src/Dlhis.Basic/Organization/Request/GainfoUploadFaceRequest.cs b/Src/Dlhis.Basic/Organization/Request/GainfoUploadFaceRequest.cs index 955e2b68..5e436b7d 100644 --- a/Src/Dlhis.Basic/Organization/Request/GainfoUploadFaceRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/GainfoUploadFaceRequest.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Org.BouncyCastle.Crypto.Digests; namespace Dlhis.Basic.Organization.Request; @@ -22,7 +23,7 @@ public class GainfoUploadFaceRequest : IValidatableObject bool v = true; try { - Convert.FromBase64String(Face); + _ = Convert.FromBase64String(Face); } catch (Exception) { @@ -34,4 +35,4 @@ public class GainfoUploadFaceRequest : IValidatableObject yield return new ValidationResult("人脸照片需要为Base64格式", new[] { nameof(Face) }); } } -} +} \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Response/GainfoOutSourceExternalInfoResponse.cs b/Src/Dlhis.Basic/Organization/Response/GainfoOutSourceExternalInfoResponse.cs index 2bc2426a..820713f2 100644 --- a/Src/Dlhis.Basic/Organization/Response/GainfoOutSourceExternalInfoResponse.cs +++ b/Src/Dlhis.Basic/Organization/Response/GainfoOutSourceExternalInfoResponse.cs @@ -18,4 +18,9 @@ public class GainfoOutSourceExternalInfoResponse : GainfoOutSourceExternalInfoDt /// 离职日期 /// public DateTime? ResignationDate { get; set; } + + /// + /// 厂区 + /// + public string Factory { get; set; } } \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs index cf0fffd4..b987177c 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs @@ -89,6 +89,9 @@ public class GainfoFaceService : IGainfoFaceService var gainfo = await _gainfoStore.Queryable(GainfoStatusEnumType.External) .Where(x => x.IdNo == request.UserNo) .FirstAsync(); + gainfo ??= await _gainfoStore.Queryable(GainfoStatusEnumType.Working) + .Where(x => x.IdNo == request.UserNo) + .FirstAsync(); gainfo.ThrowIfNull("人员信息不存在"); var face = await _faceDbContext.Queryable().Where(x => x.UserCode == gainfo.Code).SingleAsync(); @@ -111,6 +114,8 @@ public class GainfoFaceService : IGainfoFaceService await _faceDbContext.UpdateAsync(face); } + + await _devicePermissionService.GenerateDeviceTasksAsync(gainfo.No, DeviceTaskEnumType.Add); } public async Task GetExternalFaceAsync(string idno) @@ -125,8 +130,11 @@ public class GainfoFaceService : IGainfoFaceService throw new UserFriendlyException("凭证有误,无法获取人脸数"); } + var code = await _dbContext.Queryable().Where(x => x.IdNo == idno).Select(x => x.Code).FirstAsync(); + code ??= idno; + var face = await _faceDbContext.Queryable() - .Where(x => x.UserCode == idno) + .Where(x => x.UserCode == code) .SingleAsync(); face.ThrowIfNull("人脸照片尚未录入"); @@ -208,7 +216,7 @@ public class GainfoFaceService : IGainfoFaceService var prefix = gainfo.Factory == "501" ? "jschuneng" : "jingke"; var url = $"https://pay.aizhuhotel.com/{prefix}/api/face"; - + //生成任务 await _devicePermissionService.GenerateDeviceTasksAsync(gainfo.No, taskType); diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs index e8e39155..1f1ab7d7 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs @@ -28,8 +28,8 @@ public class GainfoOutsourceService : IGainfoOutsourceService { var entity = request.Adapt(); entity.No = Guid.NewGuid().ToString(); - entity.Code = request.Code.IsPresent() - ? request.Code + entity.Code = request.Code.IsPresent() + ? request.Code : await GetOutSourceCodeAsync(); await _dbContext.InsertAsync(entity); @@ -71,7 +71,8 @@ public class GainfoOutsourceService : IGainfoOutsourceService SapPhone = a.SapPhone, Name = c.Name, EntryDate = b.EntryDate, - ResignationDate = b.ResignationDate + ResignationDate = b.ResignationDate, + Factory = b.Factory }) .SingleAsync(); }