using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using wms.sqlsugar.model.fj; using WMS.BZModels; using WMS.BZModels.Dto.FJ.ReportDtos; using WMS.BZModels.Dto.FJ.WCSCachelineDtos; using WMS.BZModels.Dto.FJ.WCSPalletizingDtos; using WMS.BZSqlSugar; using WMS.Info; namespace WMS.BZServices.FJ { public class WCSPalletizingDtlService { private readonly Repository _WCSPalletizinglayerRepository; private readonly Repository _WCSPalletizingrowRepository; private readonly Repository _WCSPalletizinglocRepository; public WCSPalletizingDtlService(Repository wCSPalletizinglayerRepository, Repository wCSPalletizingrowRepository, Repository wCSPalletizinglocRepository) { _WCSPalletizinglayerRepository = wCSPalletizinglayerRepository; _WCSPalletizingrowRepository = wCSPalletizingrowRepository; _WCSPalletizinglocRepository = wCSPalletizinglocRepository; } /// /// /// /// id /// public IList GetDtlById(int palletizingId) { var predicate = Expressionable.Create(); predicate = predicate.And((layer, rows, cols) => layer.PalletizingId == palletizingId); var list = _WCSPalletizinglayerRepository.Context.Queryable((layer, rows, cols) => new object[] { JoinType.Left, layer.Id == rows.PalletizingLayerId, JoinType.Left,cols.PalletizingRowId== rows.Id }).Where(predicate.ToExpression()) .Select((layer, rows, cols) => new WCSPalletizingDtlDto { IsEmpty=layer.IsEmpty, LayerNo=layer.LayerNo, RowCountQty=layer.RowCountQty, MatCodeList= layer.MatCodeList, Finish= layer.Finish, RowsIsEmpty=rows.IsEmpty, QtyMaxCount=rows.QtyMaxCount, RowNo=rows.RowNo, IsMixRow=rows.IsMixRow, CacheLineId= rows.CacheLineId, RowsMatCodeList=rows.MatCodeList, RowsFinish= rows.Finish, AddTime=rows.AddTime, EditTime=rows.EditTime, LineCode=rows.LineCode, TaskId=cols.TaskId, ColsIsEmpty=cols.IsEmpty, XYNo=cols.XYNo, DevCode=cols.DevCode, MatCode= cols.MatCode, SideNum=cols.SideNum, SpoolType = cols.SpoolType, ColsFinish=cols.Finish }).ToList(); return list; } } }