zhuangpei-mesbackend/DOAN.Service/MES/dev/DeviceDowntimeRecordService.cs
qianhao.xu 2b06446551 2
2024-12-30 17:20:31 +08:00

113 lines
4.0 KiB
C#

using Infrastructure.Attribute;
using Infrastructure.Extensions;
using Microsoft.AspNetCore.Components.Forms;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DOAN.Model;
using DOAN.Model.MES.dev;
using DOAN.Model.MES.dev.Dto;
using DOAN.Model.System;
using DOAN.Repository;
using DOAN.Service.MES.dev.IService;
using Microsoft.AspNetCore.Mvc;
namespace DOAN.Service.MES.dev
{
/// <summary>
/// 设备停机时间Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IDeviceDowntimeRecordService), ServiceLifetime = LifeTime.Transient)]
public class DeviceDowntimeRecordService : BaseService<DeviceDowntimeRecord>, IDeviceDowntimeRecordService
{
public List<DeviceAccount> GetDevices(string query)
{
return Context.Queryable<DeviceAccount>()
.WhereIF(!string.IsNullOrEmpty(query),it => it.DeviceName.Contains(query))
.ToList();
}
/// <summary>
/// 查询设备停机时间列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<DeviceDowntimeRecordDto> GetList(DeviceDowntimeRecordQueryDto parm)
{
var predicate = Expressionable.Create<DeviceDowntimeRecord>()
.AndIF(!string.IsNullOrEmpty(parm.DeviceName), it => it.DeviceName.Contains(parm.DeviceName))
.AndIF(parm.DateTimeRange!=null&&parm.DateTimeRange.Length>0&&parm.DateTimeRange[0]>DateTime.MinValue,it=>it.StartTime >= parm.DateTimeRange[0])
.AndIF(parm.DateTimeRange!=null&&parm.DateTimeRange.Length>0&&parm.DateTimeRange[1]>DateTime.MinValue,it=>it.StartTime <= parm.DateTimeRange[1])
;
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<DeviceDowntimeRecord, DeviceDowntimeRecordDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public DeviceDowntimeRecord GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加设备停机时间
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DeviceDowntimeRecord AddDeviceDowntimeRecord(DeviceDowntimeRecord model)
{
if (model.DeviceId > 0)
{
model.DeviceName = Context.Queryable<DeviceAccount>().Where(x => x.Id == model.DeviceId).Select(x => x.DeviceName).First();
}
return Context.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改设备停机时间
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateDeviceDowntimeRecord(DeviceDowntimeRecord model)
{
//var response = Update(w => w.Id == model.Id, it => new DeviceDowntimeRecord()
//{
// DeviceName = model.DeviceName,
// Downdate = model.Downdate,
// StartTime = model.StartTime,
// EndTime = model.EndTime,
// ConsumeTime = model.ConsumeTime,
// FaultPhenomenon = model.FaultPhenomenon,
// FaultReason = model.FaultReason,
// TemporaryMeasure = model.TemporaryMeasure,
// PermanentMeasure = model.PermanentMeasure,
// RepairPerson = model.RepairPerson,
// RepairResult = model.RepairResult,
// CreatedBy = model.CreatedBy,
// CreatedTime = model.CreatedTime,
// UpdatedBy = model.UpdatedBy,
// UpdatedTime = model.UpdatedTime,
//});
//return response;
return Update(model, true);
}
}
}