using System; using SqlSugar; using Infrastructure.Attribute; using MDM.Services.IPlantService; using MDM.Service; using MDM.Model; using MDM.Model.Plant; using MDM.Model.Plant.Dto; using MDM.Repository; namespace MDM.Services.Plant { /// /// 工站/资源组Service业务层处理 /// [AppService(ServiceType = typeof(IPlantWorkstationService), ServiceLifetime = LifeTime.Transient)] public class PlantWorkstationService : BaseService, IPlantWorkstationService { /// /// 查询工站/资源组列表 /// /// /// public PagedInfo GetList(PlantWorkstationQueryDto parm) { var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.FkFactorySiteCode), it => it.FkFactorySiteCode == parm.FkFactorySiteCode) .AndIF(!string.IsNullOrEmpty(parm.FkWorkshopCode), it => it.FkWorkshopCode == parm.FkWorkshopCode) .AndIF(!string.IsNullOrEmpty(parm.FkProductlinebody), it => it.FkProductlinebody == parm.FkProductlinebody) .AndIF(!string.IsNullOrEmpty(parm.WorkstationCode), it => it.WorkstationCode.Contains(parm.WorkstationCode)) .AndIF(!string.IsNullOrEmpty(parm.WorkstationName), it => it.WorkstationName.Contains(parm.WorkstationName)) .AndIF(!string.IsNullOrEmpty(parm.FunctionGroupCode), it => it.FunctionGroupCode.Contains(parm.FunctionGroupCode)) .AndIF(!string.IsNullOrEmpty(parm.FunctionGroupName), it => it.FunctionGroupName.Contains(parm.FunctionGroupName)) ; var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public PlantWorkstation GetInfo(int WorkstationId) { var response = Queryable() .Where(x => x.WorkstationId == WorkstationId) .First(); return response; } /// /// 添加工站/资源组 /// /// /// public PlantWorkstation AddPlantWorkstation(PlantWorkstation model) { return Context.Insertable(model).ExecuteReturnEntity(); } /// /// 修改工站/资源组 /// /// /// public int UpdatePlantWorkstation(PlantWorkstation model) { //var response = Update(w => w.WorkstationId == model.WorkstationId, it => new PlantWorkstation() //{ // FkFactorySiteCode = model.FkFactorySiteCode, // FkWorkshopCode = model.FkWorkshopCode, // FkProductlinebody = model.FkProductlinebody, // WorkstationName = model.WorkstationName, // WorkstaionType = model.WorkstaionType, // Description = model.Description, // FunctionGroupCode = model.FunctionGroupCode, // FunctionGroupName = model.FunctionGroupName, // IsReplaceable = model.IsReplaceable, // CreatedBy = model.CreatedBy, // CreatedTime = model.CreatedTime, // UpdatedBy = model.UpdatedBy, // UpdatedTime = model.UpdatedTime, //}); //return response; return Update(model, true); } public List GetFactorySite(string? site_code) { return Context.Queryable().WhereIF(!string.IsNullOrEmpty(site_code), it => it.SiteCode.Contains(site_code)).ToList(); } public List GetWorkShop(string? site_code, string? workshop_code) { return Context.Queryable() .WhereIF(!string.IsNullOrEmpty(site_code), it => it.FkSiteCode.Contains(site_code)) .WhereIF(!string.IsNullOrEmpty(workshop_code), it => it.WorkshopCode.Contains(workshop_code)) .ToList(); } public List GetPlantProductlinebodies(string? site_code, string? workshop_code, string? linecode) { return Context.Queryable() .WhereIF(!string.IsNullOrEmpty(site_code), it => it.FkFactorySiteCode.Contains(site_code)) .WhereIF(!string.IsNullOrEmpty(workshop_code), it => it.FkWorkshopCode.Contains(workshop_code)) .WhereIF(!string.IsNullOrEmpty(linecode), it => it.LineCode.Contains(linecode)) .ToList(); } } }