2025-11-22 13:56:40 +08:00

119 lines
3.9 KiB
C#

using Infrastructure.Attribute;
using Infrastructure.Extensions;
using NLog.LayoutRenderers;
using RIZO.Model.Mes.Dto.GatherData;
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using RIZO.Model.Mes.GatherData;
using RIZO.Model.Mes.MasterData;
using RIZO.Model.Mes.WorkOrderInfo;
using RIZO.Repository;
using RIZO.Service.Mes.IMesService.GatherData;
namespace RIZO.Service.Mes.GatherData
{
/// <summary>
/// 生产工艺参数Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IProcessParameterService), ServiceLifetime = LifeTime.Transient)]
public class ProcessParameterService : BaseService<ProcessParameter>, IProcessParameterService
{
/// <summary>
/// 查询生产工艺参数列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<ProcessParameterDto> GetList(ProcessParameterQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<ProcessParameter, ProcessParameterDto>(parm);
return response;
}
public PagedInfo<ProcessParameterDto> GetListExport(ProcessParameterQueryDto parm)
{
var predicate = QueryExpExport(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<ProcessParameter, ProcessParameterDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public ProcessParameter GetInfo(long Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加生产工艺参数
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public ProcessParameter AddProcessParameter(ProcessParameter model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改生产工艺参数
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateProcessParameter(ProcessParameter model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<ProcessParameter> QueryExp(ProcessParameterQueryDto parm)
{
var predicate = Expressionable.Create<ProcessParameter>();
if (!string.IsNullOrWhiteSpace(parm.ProcessName))
{
predicate.And(it => it.ProcessName.Contains(parm.ProcessName));
}
if (!string.IsNullOrWhiteSpace(parm.ProcessCode))
{
predicate.And(it => it.ProcessCode.Contains(parm.ProcessCode));
}
if (parm.FirstInspection != null && parm.FirstInspection.ToString().Length > 0)
{
predicate.And(it => it.FirstInspection == parm.FirstInspection);
}
return predicate;
}
private static Expressionable<ProcessParameter> QueryExpExport(ProcessParameterQueryDto parm)
{
var predicate = Expressionable.Create<ProcessParameter>();
if (parm.StartTime != null && parm.StartTime.ToString().Length > 0)
{
predicate.And(it => it.CreateTime >= parm.StartTime);
}
if (parm.EndTime != null && parm.EndTime.ToString().Length > 0)
{
predicate.And(it => it.CreateTime < parm.EndTime);
}
return predicate;
}
}
}