diff --git a/DOAN.Admin.WebApi/Controllers/MES/base/material_account/BaseMaterialBOMController.cs b/DOAN.Admin.WebApi/Controllers/MES/base/material_account/BaseMaterialBOMController.cs index 6f15593..ff90c86 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/base/material_account/BaseMaterialBOMController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/base/material_account/BaseMaterialBOMController.cs @@ -36,13 +36,22 @@ namespace DOAN.Admin.WebApi.Controllers return SUCCESS(response); } - ////TODO 获取母件 - //[HttpPost("get_monter_inv")] - //public IActionResult GetMonterInvList([FromQuery] BaseMaterialBomQueryDto parm) - //{ - // var response = _BaseMaterialBomService.GetMonterInvList(parm); - // return SUCCESS(response); - //} + //TODO 获取母件 + [HttpPost("get_monter_inv")] + public IActionResult GetMonterInvList([FromBody] BaseMaterialBomQueryDto parm) + { + var response = _BaseMaterialBomService.GetMonterInvList(parm); + return SUCCESS(response); + } + + //TODO 获取子件 + [HttpPost("get_son_inv")] + public IActionResult GetSonInvList([FromBody] BaseMaterialBomQueryDto parm) + { + + var response = _BaseMaterialBomService.GetSonInvList(parm); + return SUCCESS(response); + } /// /// 查询详情 diff --git a/DOAN.Model/MES/base/BaseMaterialBom.cs b/DOAN.Model/MES/base/BaseMaterialBom.cs index 3b06301..192626b 100644 --- a/DOAN.Model/MES/base/BaseMaterialBom.cs +++ b/DOAN.Model/MES/base/BaseMaterialBom.cs @@ -10,7 +10,7 @@ namespace DOAN.Model.MES.base_ /// /// 雪花id /// - [SugarColumn(ColumnName = "Id")] + [SugarColumn(ColumnName = "Id" ,IsPrimaryKey =true) ] public string Id { get; set; } /// /// 母件编码 @@ -76,8 +76,8 @@ namespace DOAN.Model.MES.base_ /// /// 子节点 /// - [Navigate(NavigateType.OneToMany, nameof(BaseMaterialBom.SubInvCode))] - public List Child { get; set; } + //[Navigate(NavigateType.OneToMany, nameof(BaseMaterialBom.SubInvCode), nameof(BaseMaterialBom.InvCode))] + //public List Child { get; set; } } } diff --git a/DOAN.Model/MES/base/Dto/BaseMaterialBomDto.cs b/DOAN.Model/MES/base/Dto/BaseMaterialBomDto.cs index 9e8e4be..26a1de3 100644 --- a/DOAN.Model/MES/base/Dto/BaseMaterialBomDto.cs +++ b/DOAN.Model/MES/base/Dto/BaseMaterialBomDto.cs @@ -6,6 +6,8 @@ namespace DOAN.Model.MES.base_.Dto /// public class BaseMaterialBomQueryDto : PagerInfo { + public string InvCode { get; set; } + public string SubInvCode { get; set; } } /// @@ -40,7 +42,7 @@ namespace DOAN.Model.MES.base_.Dto public DateTime? UpdatedTime { get; set; } - public List Child { get; set; } + // public List Child { get; set; } diff --git a/DOAN.Service/MES/base/BaseMaterialBOMService.cs b/DOAN.Service/MES/base/BaseMaterialBOMService.cs index dcbfcda..685ed96 100644 --- a/DOAN.Service/MES/base/BaseMaterialBOMService.cs +++ b/DOAN.Service/MES/base/BaseMaterialBOMService.cs @@ -37,16 +37,20 @@ namespace DOAN.Service.MES.base_ { var predicate = Expressionable.Create(); - //var response = Queryable() - // .Where(predicate.ToExpression()) - // .ToPage(parm); + var response = Queryable() + .Where(predicate.ToExpression()) + .ToPage(parm); //Context.Queryable().Where(predicate.ToExpression()).ToTree(it => it.Child, it => it.InvCode, 0, it => it.Id) - var response = Context.Queryable() - .Where(predicate.ToExpression()) - .Includes(x => x.Child) - .ToPage(parm); + //var response = Context.Queryable() + // .Where(predicate.ToExpression()) + // .Includes(x => x.Child).ToList(); + + + + + return response; @@ -57,16 +61,17 @@ namespace DOAN.Service.MES.base_ /// /// /// - PagedInfo GetMonterInvList(BaseMaterialBomQueryDto parm) + public PagedInfo GetMonterInvList(BaseMaterialBomQueryDto parm) { var predicate = Expressionable.Create(); - Queryable() + var query = Context.Queryable() .Where(predicate.ToExpression()) .GroupBy(it => it.InvCode) - .Select(it => new BaseMaterialBomDto() { + .Select(it => new BaseMaterialBomDto() + { - Id= SqlFunc.AggregateMax(it.Id), + Id = SqlFunc.AggregateMax(it.Id), InvCode = SqlFunc.AggregateMax(it.InvCode), InvName = SqlFunc.AggregateMax(it.InvName), SubInvName = SqlFunc.AggregateMax(it.SubInvName), @@ -74,17 +79,30 @@ namespace DOAN.Service.MES.base_ BOMVersion = SqlFunc.AggregateMax(it.BOMVersion), CreatedBy = SqlFunc.AggregateMax(it.CreatedBy), CreatedTime = SqlFunc.AggregateMax(it.CreatedTime), - UpdatedBy = SqlFunc.AggregateMax(it.UpdatedBy), UpdatedTime = SqlFunc.AggregateMax(it.UpdatedTime) }); - return null; + var response = query.ToPage(parm); + + + return response; } + /// + /// 获取子件 + /// + /// + /// + public List GetSonInvList(BaseMaterialBomQueryDto parm) + { + return Context.Queryable().Where(it => it.InvCode == parm.InvCode).ToList(); + + } + /// /// 获取详情 /// diff --git a/DOAN.Service/MES/base/IService/IBaseMaterialBOMService.cs b/DOAN.Service/MES/base/IService/IBaseMaterialBOMService.cs index fb263f1..82e0fe1 100644 --- a/DOAN.Service/MES/base/IService/IBaseMaterialBOMService.cs +++ b/DOAN.Service/MES/base/IService/IBaseMaterialBOMService.cs @@ -14,7 +14,9 @@ namespace DOAN.Service.MES.base_.IService { PagedInfo GetList(BaseMaterialBomQueryDto parm); - // PagedInfo GetMonterInvList( BaseMaterialBomQueryDto parm); + PagedInfo GetMonterInvList( BaseMaterialBomQueryDto parm); + + List GetSonInvList(BaseMaterialBomQueryDto parm); BaseMaterialBom GetInfo(string Id);