2025-11-18 18:49:17 +08:00

87 lines
2.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Infrastructure.Attribute;
using Infrastructure.Extensions;
using RIZO.Model.Mes.Dto.WorkOrderInfo;
using RIZO.Model.Mes.WorkOrderInfo;
using RIZO.Repository;
using RIZO.Service.Mes.IMesService.WorkOrderInfo;
namespace RIZO.Service.Mes.WorkOrderInfo
{
/// <summary>
/// 工单从表存储工单所需物料明细及物料流转状态Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IWorkOrderItemService), ServiceLifetime = LifeTime.Transient)]
public class WorkOrderItemService : BaseService<WorkOrderItem>, IWorkOrderItemService
{
/// <summary>
/// 查询工单从表(存储工单所需物料明细及物料流转状态)列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<WorkOrderItemDto> GetList(WorkOrderItemQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<WorkOrderItem, WorkOrderItemDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public WorkOrderItem GetInfo(long Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public WorkOrderItem AddWorkOrderItem(WorkOrderItem model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改工单从表(存储工单所需物料明细及物料流转状态)
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateWorkOrderItem(WorkOrderItem model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<WorkOrderItem> QueryExp(WorkOrderItemQueryDto parm)
{
var predicate = Expressionable.Create<WorkOrderItem>();
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));
}
return predicate;
}
}
}