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

97 lines
3.1 KiB
C#

using Infrastructure.Attribute;
using Infrastructure.Extensions;
using RIZO.Model.Mes.Dto.MasterData;
using RIZO.Model.Mes.MasterData;
using RIZO.Repository;
using RIZO.Service.Mes.IMesService.MasterData;
namespace RIZO.Service.Mes.MasterData
{
/// <summary>
/// 质量不良原因字典表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IQualityDefectReasonService), ServiceLifetime = LifeTime.Transient)]
public class QualityDefectReasonService : BaseService<QualityDefectReason>, IQualityDefectReasonService
{
/// <summary>
/// 查询质量不良原因字典表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<QualityDefectReasonDto> GetList(QualityDefectReasonQueryDto parm)
{
var predicate = QueryExp(parm);
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<QualityDefectReason, QualityDefectReasonDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public QualityDefectReason GetInfo(long Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加质量不良原因字典表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public QualityDefectReason AddQualityDefectReason(QualityDefectReason model)
{
return Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改质量不良原因字典表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateQualityDefectReason(QualityDefectReason model)
{
return Update(model, true);
}
/// <summary>
/// 查询导出表达式
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
private static Expressionable<QualityDefectReason> QueryExp(QualityDefectReasonQueryDto parm)
{
var predicate = Expressionable.Create<QualityDefectReason>();
if (!string.IsNullOrWhiteSpace(parm.ReasonName))
{
predicate.And(it => it.ReasonName.Contains(parm.ReasonName));
}
if (!string.IsNullOrWhiteSpace(parm.Description))
{
predicate.And(it => it.Description.Contains(parm.Description));
}
return predicate;
}
public List<QualityDefectReasonPullDownDto> GetQualityDefectReason()
{
var lineOptions = Queryable()
.Select(it => new QualityDefectReasonPullDownDto
{
value = it.ReasonCode,
label = it.ReasonName
}).ToList(); // 执行查询并转换为列表
return lineOptions;
}
}
}