From 1e855c3ec9065c8afa6ed7ec063a61d014c8694a Mon Sep 17 00:00:00 2001 From: liguoyang Date: Tue, 27 Aug 2024 16:23:05 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BA=BA=E8=84=B8=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E9=97=AE=E9=A2=98,=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Organization/Services/Implements/GainfoService.cs | 3 ++- Src/Dlhis.InfoCheck/Controllers/FaceController.cs | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index 73657899..af58a4b7 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -81,7 +81,8 @@ public class GainfoService : IGainfoService ISugarQueryable queryable = request.IsSearchAll ? _gainfoStore.Queryable(request.Status) .WhereIF(request.DepartmentSelections?.Any() == true, where) - .WhereIF(request.DepartmentSelections?.Any() == false, gainfo => factories.Contains(gainfo.Factory)) + .WhereIF(request.DepartmentSelections?.Any() == false, gainfo => factories.Contains(gainfo.Factory) || + SqlFunc.Subqueryable().Where(p => p.Code == gainfo.Code && factories.Contains(p.Destination) && SqlFunc.DateIsSame(p.BeginDate, today)).Any()) .LeftJoin((gainfo, department) => gainfo.DepartmentNo == department.No) .LeftJoin((gainfo, department, type) => type.Code == SqlFunc.ToString(gainfo.CardType) && type.Type == "timeperiod") .WhereIF(request.Search.IsPresent(), gainfo => diff --git a/Src/Dlhis.InfoCheck/Controllers/FaceController.cs b/Src/Dlhis.InfoCheck/Controllers/FaceController.cs index cf5fd689..d87b78d8 100644 --- a/Src/Dlhis.InfoCheck/Controllers/FaceController.cs +++ b/Src/Dlhis.InfoCheck/Controllers/FaceController.cs @@ -6,6 +6,7 @@ using ViewFaceCore; using ViewFaceCore.Configs; using Dlhis.InfoCheck.Request; using Dlhis.InfoCheck.Response; +using Kurisu.AspNetCore.UnifyResultAndValidation.Aop; using Kurisu.AspNetCore.Utils.Extensions; namespace Dlhis.InfoCheck.Controllers; @@ -19,6 +20,7 @@ public class FaceController : ControllerBase /// /// /// + [DisableApiLog] [HttpPost("detection")] public IEnumerable FacialDetection(FaceDetectRequest request) { @@ -32,7 +34,13 @@ public class FaceController : ControllerBase MarkType = MarkType.Light }); - var info = faceDetector.Detect(bitmap).First(); + var faces = faceDetector.Detect(bitmap); + if (faces.Length == 0) + { + return new List { "未检测到人脸" }; + } + + var info = faces.First(); var markPoints = faceMark.Mark(bitmap, info); using var faceQuality = new FaceQuality();