Files
kunshan-bzfm-mes-backend/DOAN.Service/MES/SmartScreen/Site/SiteSafeGreenCrossSmartService.cs
2025-04-21 17:49:34 +08:00

76 lines
2.8 KiB
C#

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;
namespace DOAN.Service.MES.SmartScreen.Site
{
[AppService(
ServiceType = typeof(ISiteSafeGreenCrossSmartService),
ServiceLifetime = LifeTime.Transient
)]
public class SiteSafeGreenCrossSmartService
: BaseService<SiteSafeGreenCross>,
ISiteSafeGreenCrossSmartService
{
public List<SiteSafeGreenCrossBoardDto> GetGeenCrossSmartScreenForMonth()
{
// 获取本月第一天
DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
// 获取本月最后一天
DateTime lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);
// 获取当天
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<SiteSafeGreenCross>()
.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<SiteSafeGreenCross>()
.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;
}
}
}