From 246e4b69b781ad2c415fe42b291031175d2901aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A2=E6=B1=9F=E6=B5=B7?= <18360817963@163.com> Date: Thu, 27 Mar 2025 16:15:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SmartScreen/Order/OrderSmartController.cs | 2 + .../Quality/QualitySmartController.cs | 2 + .../Quality/QualitySmartService.cs | 46 +++---------------- 3 files changed, 10 insertions(+), 40 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Order/OrderSmartController.cs b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Order/OrderSmartController.cs index 50601b4..f7a709d 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Order/OrderSmartController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Order/OrderSmartController.cs @@ -32,6 +32,7 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Order /// /// [HttpGet("GetLargeScreenOrder")] + [AllowAnonymous] public IActionResult GetLargeScreenOrder() { @@ -44,6 +45,7 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Order /// /// [HttpGet("GetOrderProgress")] + [AllowAnonymous] public IActionResult GetOrderProgress() { diff --git a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs index 96f0b29..d99a7e6 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Quality/QualitySmartController.cs @@ -29,6 +29,7 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Quality /// /// [HttpGet("GetQualityScreenHead")] + [AllowAnonymous] public IActionResult GetQualityScreenHead() { @@ -41,6 +42,7 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Quality /// /// [HttpGet("GetQualitySmartScreenForWeek")] + [AllowAnonymous] public IActionResult GetQualitySmartScreenForWeek() { diff --git a/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs b/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs index 08dd682..2234d55 100644 --- a/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs +++ b/DOAN.Service/MES/SmartScreen/Quality/QualitySmartService.cs @@ -61,28 +61,10 @@ namespace DOAN.Service.MES.SmartScreen.Quality .AddMinutes(59) .AddSeconds(59); - // 查询本周的质量缺陷数据 - var defectQuery = Queryable() - .Where(o => o.CheckDatetime >= startOfWeek && o.CheckDatetime <= endOfWeek); - - // 获取有缺陷的工单列表 - List defectWorkorders = defectQuery - .Select(o => o.Workorder) - .Distinct() - .ToList(); - - if (defectWorkorders.Count == 0) - { - return new List(); - } - - // 查询相关工单信息 - var workorderQuery = Context.Queryable() - .Where(o => defectWorkorders.Contains(o.Workorder)); - // 使用 SqlSugar 进行联表查询和分组统计 - var result = defectQuery - .InnerJoin((defect, work) => defect.Workorder == work.Workorder) + var result = Context.Queryable() + .LeftJoin((defect, work) => defect.Workorder == work.Workorder) + .Where((defect, work) => defect.CheckDatetime >= startOfWeek && defect.CheckDatetime <= endOfWeek) .GroupBy((defect, work) => new { work.StoveCode, defect.DefectName }) .Select((defect, work) => new QualitySmartScreenDto { @@ -105,28 +87,12 @@ namespace DOAN.Service.MES.SmartScreen.Quality DateTime lastDayOfMonth = new DateTime(now.Year, now.Month, 1) .AddMonths(1) .AddSeconds(-1); - // 查询本周的质量缺陷数据 - var defectQuery = Queryable() - .Where(o => o.CheckDatetime >= firstDayOfMonth && o.CheckDatetime <= lastDayOfMonth); - // 获取有缺陷的工单列表 - List defectWorkorders = defectQuery - .Select(o => o.Workorder) - .Distinct() - .ToList(); - - if (defectWorkorders.Count == 0) - { - return new List(); - } - - // 查询相关工单信息 - var workorderQuery = Context.Queryable() - .Where(o => defectWorkorders.Contains(o.Workorder)); // 使用 SqlSugar 进行联表查询和分组统计 - var result = defectQuery - .InnerJoin((defect, work) => defect.Workorder == work.Workorder) + var result = Context.Queryable() + .LeftJoin((defect, work) => defect.Workorder == work.Workorder) + .Where((defect, work) => defect.CheckDatetime >= firstDayOfMonth && defect.CheckDatetime <= lastDayOfMonth) .GroupBy((defect, work) => new { work.StoveCode, defect.DefectName }) .Select((defect, work) => new QualitySmartScreenDto {