From 0ae5525c7216edc99afcb1bf1f48e81a410524c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Mon, 21 Apr 2025 17:49:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=BF=E5=8D=81=E5=AD=97=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Site/SiteSafeGreenCrossSmartController.cs | 6 +- .../MES/Andon/Dto/SiteSafeGreenCrossDto.cs | 12 ++- .../MES/Andon/SiteSafeGreenCrossService.cs | 1 + .../ISiteSafeGreenCrossSmartService.cs | 2 +- .../Site/SiteSafeGreenCrossSmartService.cs | 90 +++++++++++-------- 5 files changed, 69 insertions(+), 42 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Site/SiteSafeGreenCrossSmartController.cs b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Site/SiteSafeGreenCrossSmartController.cs index b00826b..664247d 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Site/SiteSafeGreenCrossSmartController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/SmartScreen/Site/SiteSafeGreenCrossSmartController.cs @@ -12,9 +12,9 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Site public class SiteSafeGreenCrossSmartController : BaseController { - private readonly ISiteSafeGreenCrossSmartService siteSafeGreenCrossSmartService; + private readonly ISiteSafeGreenCrossSmartService _siteSafeGreenCrossSmartService; public SiteSafeGreenCrossSmartController(ISiteSafeGreenCrossSmartService siteSafeGreenCrossSmartService) { - siteSafeGreenCrossSmartService = siteSafeGreenCrossSmartService; + _siteSafeGreenCrossSmartService = siteSafeGreenCrossSmartService; } @@ -22,7 +22,7 @@ namespace DOAN.Admin.WebApi.Controllers.MES.SmartScreen.Site [HttpGet("greencross")] public IActionResult GetGeenCrossSmartScreenForMonth() { - var response = siteSafeGreenCrossSmartService.GetGeenCrossSmartScreenForMonth(); + var response = _siteSafeGreenCrossSmartService.GetGeenCrossSmartScreenForMonth(); return SUCCESS(response); } diff --git a/DOAN.Model/MES/Andon/Dto/SiteSafeGreenCrossDto.cs b/DOAN.Model/MES/Andon/Dto/SiteSafeGreenCrossDto.cs index f929910..04b4562 100644 --- a/DOAN.Model/MES/Andon/Dto/SiteSafeGreenCrossDto.cs +++ b/DOAN.Model/MES/Andon/Dto/SiteSafeGreenCrossDto.cs @@ -28,8 +28,14 @@ namespace DOAN.Model.MES.Andon.Dto public string UpdatedBy { get; set; } public DateTime? UpdatedTime { get; set; } - - - + } + /// + /// 现场安全绿色十字架输入输出对象 + /// + public class SiteSafeGreenCrossBoardDto + { + public int Id { get; set; } + public int SafeDateInt { get; set; } + public int SafeNum { get; set; } = 0; } } \ No newline at end of file diff --git a/DOAN.Service/MES/Andon/SiteSafeGreenCrossService.cs b/DOAN.Service/MES/Andon/SiteSafeGreenCrossService.cs index bbd067c..a8ddfac 100644 --- a/DOAN.Service/MES/Andon/SiteSafeGreenCrossService.cs +++ b/DOAN.Service/MES/Andon/SiteSafeGreenCrossService.cs @@ -26,6 +26,7 @@ namespace DOAN.Service.MES.Andon.Service var response = Queryable() .Where(predicate.ToExpression()) + .OrderBy(it=>it.SafeDate) .ToPage(parm); return response; diff --git a/DOAN.Service/MES/SmartScreen/Site/IService/ISiteSafeGreenCrossSmartService.cs b/DOAN.Service/MES/SmartScreen/Site/IService/ISiteSafeGreenCrossSmartService.cs index 469cd93..81f461e 100644 --- a/DOAN.Service/MES/SmartScreen/Site/IService/ISiteSafeGreenCrossSmartService.cs +++ b/DOAN.Service/MES/SmartScreen/Site/IService/ISiteSafeGreenCrossSmartService.cs @@ -10,6 +10,6 @@ namespace DOAN.Service.MES.SmartScreen.Site.IService public interface ISiteSafeGreenCrossSmartService { - public List GetGeenCrossSmartScreenForMonth(); + public List GetGeenCrossSmartScreenForMonth(); } } diff --git a/DOAN.Service/MES/SmartScreen/Site/SiteSafeGreenCrossSmartService.cs b/DOAN.Service/MES/SmartScreen/Site/SiteSafeGreenCrossSmartService.cs index 8cf9460..e25ded5 100644 --- a/DOAN.Service/MES/SmartScreen/Site/SiteSafeGreenCrossSmartService.cs +++ b/DOAN.Service/MES/SmartScreen/Site/SiteSafeGreenCrossSmartService.cs @@ -1,54 +1,74 @@ -using DOAN.Model.MES.Andon; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DOAN.Model.MES.Andon; using DOAN.Model.MES.Andon.Dto; using DOAN.Model.MES.quality.FQC; using DOAN.Service.MES.SmartScreen.Quality.IService; using DOAN.Service.MES.SmartScreen.Site.IService; using Infrastructure.Attribute; using Mapster; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace DOAN.Service.MES.SmartScreen.Site { - - - [AppService(ServiceType = typeof(ISiteSafeGreenCrossSmartService), ServiceLifetime = LifeTime.Transient)] - public class SiteSafeGreenCrossSmartService : BaseService, ISiteSafeGreenCrossSmartService + [AppService( + ServiceType = typeof(ISiteSafeGreenCrossSmartService), + ServiceLifetime = LifeTime.Transient + )] + public class SiteSafeGreenCrossSmartService + : BaseService, + ISiteSafeGreenCrossSmartService { - public List GetGeenCrossSmartScreenForMonth() + public List GetGeenCrossSmartScreenForMonth() { - UseTran2(() => - { - DateTime nowDate = DateTime.Now.Date; - bool TodayExist = Context.Queryable().Where(it => it.SafeDate == nowDate).Any(); - if (!TodayExist) - { - - Context.Insertable(new SiteSafeGreenCross() - { - SafeDate = nowDate, - SafeNum = 1, - CreatedBy = "auto", - CreatedTime = DateTime.Now, - UpdatedBy = "auto", - UpdatedTime = DateTime.Now - }).ExecuteCommand(); - } - - }); - // 获取本月第一天 DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); - // 获取本月最后一天 DateTime lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1); - var list = Context.Queryable().Where(it => it.SafeDate >= firstDayOfMonth && it.SafeDate <= lastDayOfMonth) - .ToList().Adapt>(); - + // 获取当天 + DateTime nowDate = DateTime.Now.Date; + UseTran2(() => + { + for (int i = 1; i < nowDate.Day; i++) + { + // 判断该日期记录是否存在 + DateTime checkDate = new DateTime(nowDate.Year, nowDate.Month, i); + bool isExist = Context + .Queryable() + .Where(it => it.SafeDate >= firstDayOfMonth) + .Where(it => it.SafeDate == checkDate) + .Any(); + if (!isExist) + { + Context + .Insertable( + new SiteSafeGreenCross() + { + SafeDate = checkDate, + SafeNum = 1, + CreatedBy = "auto", + CreatedTime = DateTime.Now, + UpdatedBy = "auto", + UpdatedTime = DateTime.Now + } + ) + .ExecuteCommand(); + } + } + }); + var list = Context + .Queryable() + .Where(it => it.SafeDate >= firstDayOfMonth && it.SafeDate <= lastDayOfMonth) + .Select(it => new SiteSafeGreenCrossBoardDto + { + Id = it.Id, + SafeDateInt = it.SafeDate != null ? it.SafeDate.Value.Day : 0, + SafeNum = it.SafeNum ?? 0 + }) + .ToList(); return list; } }