using System;
using SqlSugar;
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model;
using DOAN.Model.Dto;
using DOAN.Repository;
using System.Linq;
using DOAN.Model.MES.process.Dto;
using DOAN.Service.MES.process.IService;
using DOAN.Model.MES.process;
namespace DOAN.Service.Business
{
/// 工序表Service业务层处理
///
///
[AppService(ServiceType = typeof(IProcessmodelOperationService), ServiceLifetime = LifeTime.Transient)]
public class ProcessmodelOperationService : BaseService, IProcessmodelOperationService
{
public List GetList(ProcessmodelRoutingQueryDto parm)
{
var predicate = Expressionable.Create()
.AndIF(!string.IsNullOrEmpty(parm.RoutingCode), p => parm.RoutingCode.Contains(p.RoutingCode))
.AndIF(!string.IsNullOrEmpty(parm.RoutingName), p => parm.RoutingName.Contains(p.RoutingName))
.AndIF(!string.IsNullOrEmpty(parm.Version), p => parm.Version.Contains(p.Version));
var response = Context.Queryable()
.Where(predicate.ToExpression())
.Select(p => new ProcessmodelRouteParentDto()
{
RoutingCode = p.RoutingCode,
RoutingName = p.RoutingName,
Version = p.Version,
ProductCode = p.ProductCode,
Description = p.Description,
parentId = 0,
children= null
});
return response.ToList();
}
///
/// 查询工序表列表
///
///
///
public PagedInfo GetList(ProcessmodelOperationQueryDto parm)
{
var predicate = Expressionable.Create()
.AndIF(!string.IsNullOrEmpty(parm.RoutingCode), p => parm.RoutingCode.Contains(p.RoutingCode))
.AndIF(!string.IsNullOrEmpty(parm.OperationCode), p => parm.OperationCode.Contains(p.OperationCode))
.AndIF(!string.IsNullOrEmpty(parm.OperationName), p => parm.OperationName.Contains(p.OperationName));
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage(parm);
return response;
}
///
/// 获取详情
///
///
///
public ProcessmodelOperation GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
///
/// 添加工序表
///
///
///
public ProcessmodelOperation AddProcessmodelOperation(ProcessmodelOperation model)
{
return Context.Insertable(model).ExecuteReturnEntity();
}
///
/// 修改工序表
///
///
///
public int UpdateProcessmodelOperation(ProcessmodelOperation model)
{
//var response = Update(w => w.Id == model.Id, it => new ProcessmodelOperation()
//{
// OperationCode = model.OperationCode,
// OperationName = model.OperationName,
// OperationSeq = model.OperationSeq,
// WorkCenter = model.WorkCenter,
// StandardTime = model.StandardTime,
// Description = model.Description,
// UpdateTime = model.UpdateTime,
// IsActive = model.IsActive,
//});
//return response;
return Update(model, true);
}
///
/// 获取工艺路线表
///
public List GetModelRoutingList()
{
var response = Context.Queryable()
.Select(p => new ProcessmodelRoutingDto
{
RoutingCode = p.RoutingCode,
RoutingName = p.RoutingName,
})
.ToList();
return response;
}
}
}