From 46af5a3a488e06c2eb4844a2dd72ad9ddcd7cdbd Mon Sep 17 00:00:00 2001 From: payne <bzrlw2012@163.com> Date: 周四, 25 4月 2024 13:21:18 +0800 Subject: [PATCH] 物料详情接口 控制规则明细页面增加字段 --- iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 46 insertions(+), 2 deletions(-) diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs index 7e2b3d6..7b882f7 100644 --- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs +++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs @@ -28,14 +28,18 @@ private readonly ISysExcelTemplateService _sysExcelTemplateService; private readonly static object _lock = new(); private readonly IRepository<WmsMaterialCustomer, MasterDbContextLocator> _wmsMaterialCustomerRep; + private readonly IRepository<BaseCustomer, MasterDbContextLocator> _baseCustomerRep; private readonly IRepository<WmsSubstituteGood, MasterDbContextLocator> _wmsSubstituteGoodRep; + private readonly IRepository<WmsControlRuleDetail, MasterDbContextLocator> _wmsControlRuleDetailRep; public WmsMaterialService( IRepository<WmsMaterial,MasterDbContextLocator> wmsMaterialRep ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep ,ISysExcelTemplateService sysExcelTemplateService , IRepository<WmsMaterialCustomer, MasterDbContextLocator> wmsMaterialCustomerRep + , IRepository<BaseCustomer, MasterDbContextLocator> baseCustomerRep , IRepository<WmsSubstituteGood, MasterDbContextLocator> wmsSubstituteGoodRep + , IRepository<WmsControlRuleDetail, MasterDbContextLocator> wmsControlRuleDetailRep ) { _wmsMaterialRep = wmsMaterialRep; @@ -43,7 +47,9 @@ _sysDictDataRep = sysDictDataRep; _sysExcelTemplateService = sysExcelTemplateService; _wmsMaterialCustomerRep = wmsMaterialCustomerRep; + _baseCustomerRep = baseCustomerRep; _wmsSubstituteGoodRep = wmsSubstituteGoodRep; + _wmsControlRuleDetailRep = wmsControlRuleDetailRep; } /// <summary> /// 鍒嗛〉鏌ヨ鐗╂枡淇℃伅 @@ -156,9 +162,39 @@ /// <param name="input"></param> /// <returns></returns> [HttpGet("WmsMaterial/detail")] - public async Task<WmsMaterialOutput> Get([FromQuery] QueryeWmsMaterialInput input) + public async Task<WmsMaterialInfoOutput> Get([FromQuery] QueryeWmsMaterialInput input) { - return (await _wmsMaterialRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsMaterialOutput>(); + WmsMaterialInfoOutput resultInfo = new WmsMaterialInfoOutput(); + //鑾峰彇鐗╂枡淇℃伅 + var wmsMaterialInfo =(await _wmsMaterialRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsMaterialOutput>(); + //鑾峰彇鏇挎崲鐗╂枡淇℃伅 + var wmsSubstituteGoods = await _wmsSubstituteGoodRep.DetachedEntities + .Where(u => u.MaterialCode == wmsMaterialInfo.MaterialName) + .Where(u => u.IsDeleted == false) + .Where(u => u.IsDisabled == false) + .OrderBy(o => o.CreatedTime) + .ProjectToType<WmsSubstituteGoodOutput>() + .ToListAsync(); + //鑾峰彇鎺у埗灞炴�ц鍒� + var wmsControlRuleDetails = await _wmsControlRuleDetailRep.DetachedEntities + .Where(u => u.Id == wmsMaterialInfo.ControlRuleId) + .Where(u => u.IsDeleted == false) + .Where(u => u.IsDisabled == false) + .OrderBy(o=>o.CreatedTime) + .ProjectToType<WmsControlRuleDetailOutput>() + .ToListAsync(); + + //鏍规嵁鐗╂枡瀹㈡埛鍏宠仈琛ㄨ幏鍙栧線鏉ヤ俊鎭� + var baseCustomers = await _baseCustomerRep.DetachedEntities.Join(_wmsMaterialCustomerRep.DetachedEntities, bc => bc.Id, mc => mc.CustId, (bc, mc) => new { bc, mc }) + .Where(p =>p.mc.MaterialId== wmsMaterialInfo.Id) + .OrderBy(o => o.mc.CreatedTime) + .ProjectToType<BaseCustomerOutput>() + .ToListAsync(); + + resultInfo.MaterialInfo = wmsMaterialInfo; + resultInfo.SubstituteGoodList = wmsSubstituteGoods; + resultInfo.ControlRuleDetailList = wmsControlRuleDetails; + return resultInfo; } /// <summary> @@ -220,6 +256,10 @@ //鏇夸唬鍝佷俊鎭� var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>(); + foreach (var item in substituteGoodList) + { + item.SubstituteCode = Yitter.IdGenerator.YitIdHelper.NextId().ToString();//TODO 瑕佽皟鐢ㄧ敓鎴� 缂栧彿鐨勬柟娉� 鍏堢敤闆姳ID + } wmsMaterial.UpdatedUserId = SysHelper.GetUserId(); wmsMaterial.UpdatedUserName = SysHelper.GetUserName(); @@ -314,6 +354,10 @@ //鏇夸唬鍝佷俊鎭� var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>(); + foreach (var item in substituteGoodList) + { + item.SubstituteCode = Yitter.IdGenerator.YitIdHelper.NextId().ToString();//TODO 瑕佽皟鐢ㄧ敓鎴� 缂栧彿鐨勬柟娉� 鍏堢敤闆姳ID + } if (materialCustomerList?.Count > 0) { -- Gitblit v1.9.3