WCSPalletizingDtlService.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using wms.sqlsugar.model.fj;
  8. using WMS.BZModels;
  9. using WMS.BZModels.Dto.FJ.ReportDtos;
  10. using WMS.BZModels.Dto.FJ.WCSCachelineDtos;
  11. using WMS.BZModels.Dto.FJ.WCSPalletizingDtos;
  12. using WMS.BZSqlSugar;
  13. using WMS.Info;
  14. namespace WMS.BZServices.FJ
  15. {
  16. public class WCSPalletizingDtlService
  17. {
  18. private readonly Repository<WCSPalletizinglayer> _WCSPalletizinglayerRepository;
  19. private readonly Repository<WCSPalletizingrow> _WCSPalletizingrowRepository;
  20. private readonly Repository<WCSPalletizingloc> _WCSPalletizinglocRepository;
  21. public WCSPalletizingDtlService(Repository<WCSPalletizinglayer> wCSPalletizinglayerRepository, Repository<WCSPalletizingrow> wCSPalletizingrowRepository, Repository<WCSPalletizingloc> wCSPalletizinglocRepository)
  22. {
  23. _WCSPalletizinglayerRepository = wCSPalletizinglayerRepository;
  24. _WCSPalletizingrowRepository = wCSPalletizingrowRepository;
  25. _WCSPalletizinglocRepository = wCSPalletizinglocRepository;
  26. }
  27. /// <summary>
  28. ///
  29. /// </summary>
  30. /// <param name="palletizingId">id</param>
  31. /// <returns></returns>
  32. public IList<WCSPalletizingDtlDto> GetDtlById(int palletizingId)
  33. {
  34. var predicate = Expressionable.Create<WCSPalletizinglayer, WCSPalletizingrow, WCSPalletizingloc>();
  35. predicate = predicate.And((layer, rows, cols) => layer.PalletizingId == palletizingId);
  36. var list = _WCSPalletizinglayerRepository.Context.Queryable<WCSPalletizinglayer, WCSPalletizingrow, WCSPalletizingloc>((layer, rows, cols) => new object[] {
  37. JoinType.Left, layer.Id == rows.PalletizingLayerId,
  38. JoinType.Left,cols.PalletizingRowId== rows.Id
  39. }).Where(predicate.ToExpression())
  40. .Select((layer, rows, cols) => new WCSPalletizingDtlDto
  41. {
  42. IsEmpty=layer.IsEmpty,
  43. LayerNo=layer.LayerNo,
  44. RowCountQty=layer.RowCountQty,
  45. MatCodeList= layer.MatCodeList,
  46. Finish= layer.Finish,
  47. RowsIsEmpty=rows.IsEmpty,
  48. QtyMaxCount=rows.QtyMaxCount,
  49. RowNo=rows.RowNo,
  50. IsMixRow=rows.IsMixRow,
  51. CacheLineId= rows.CacheLineId,
  52. RowsMatCodeList=rows.MatCodeList,
  53. RowsFinish= rows.Finish,
  54. AddTime=rows.AddTime,
  55. EditTime=rows.EditTime,
  56. LineCode=rows.LineCode,
  57. TaskId=cols.TaskId,
  58. ColsIsEmpty=cols.IsEmpty,
  59. XYNo=cols.XYNo,
  60. DevCode=cols.DevCode,
  61. MatCode= cols.MatCode,
  62. SideNum=cols.SideNum,
  63. SpoolType = cols.SpoolType,
  64. ColsFinish=cols.Finish
  65. }).ToList();
  66. return list;
  67. }
  68. }
  69. }