From 07562e1627ef14d4a946d352739d2f8d17d6360b Mon Sep 17 00:00:00 2001
From: liuying <1427574514@qq.com>
Date: 周四, 25 4月 2024 13:42:29 +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