From d6883f7f2dc6f60b4378b6c4d456750de7084c77 Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周四, 25 4月 2024 16:53:57 +0800
Subject: [PATCH] 修改

---
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs |   35 +++++++++++++++++++++--------------
 1 files changed, 21 insertions(+), 14 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 1986e68..8513c17 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
@@ -176,7 +176,7 @@
             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.MaterialCode == wmsMaterialInfo.MaterialCode)
                                          .Where(u => u.IsDeleted == false)
                                          .Where(u => u.IsDisabled == false)
                                          .OrderBy(o => o.CreatedTime)
@@ -191,16 +191,26 @@
                                               .ProjectToType<WmsControlRuleDetailOutput>()
                                               .ToListAsync();
 
+            //鐗╂枡瀹㈡埛鍏宠仈
+            var wmsMaterialCustomerList = await _wmsMaterialCustomerRep.DetachedEntities
+                                              .Where(u => u.MaterialId == wmsMaterialInfo.Id)
+                                              .Where(u => u.IsDeleted == false)
+                                              .OrderBy(o => o.CreatedTime)
+                                              .ProjectToType<WmsMaterialCustomerOutput>()
+                                              .ToListAsync();
+            List<long> custIds = wmsMaterialCustomerList.Select(s => s.CustId).ToList();
             //鏍规嵁鐗╂枡瀹㈡埛鍏宠仈琛ㄨ幏鍙栧線鏉ヤ俊鎭�
-            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)
+            var baseCustomers = await _baseCustomerRep.DetachedEntities
+                                      .Where(p => custIds.Contains(p.Id))
+                                      .OrderBy(o => o.CreatedTime)
                                       .ProjectToType<BaseCustomerOutput>()
                                       .ToListAsync();
 
+            
             resultInfo.MaterialInfo = wmsMaterialInfo;
             resultInfo.SubstituteGoodList = wmsSubstituteGoods;
             resultInfo.ControlRuleDetailList = wmsControlRuleDetails;
+            resultInfo.BaseCustomerList = baseCustomers;
             return resultInfo;
         }
 
@@ -238,23 +248,21 @@
             var wmsMaterialType = (await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == wmsMaterial.MaterialType)).Adapt<WmsMaterialTypeOutput>();
             if(wmsMaterialType==null) throw Oops.Oh($"ID{wmsMaterial.MaterialType}鐗╂枡绫诲瀷涓嶅瓨鍦�");
 
-            wmsMaterial.MaterialTypeName = wmsMaterialType.MaterialTypeName;  
+            wmsMaterial.MaterialTypeName = wmsMaterialType.MaterialTypeName;
 
-            //寰�鏉ュ叧绯讳俊鎭�
-            var baseCustomerList = input.BaseCustomerList.Adapt<List<BaseCustomer>>();
+            //寰�鏉ュ崟浣�
+            var wmsBaseCustomerList = await _baseCustomerRep.DetachedEntities.Where(u => input.BaseCustomerList.Contains(u.Id) && u.IsDeleted == false && u.IsDisabled == false).ProjectToType<BaseCustomerOutput>().ToListAsync();
             //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
             var materialCustomerList=new List<WmsMaterialCustomer>();
-            foreach (var baseCustomer in baseCustomerList)
+            foreach (var baseCustomer in wmsBaseCustomerList)
             {
-
-                var _custCode= await SerialUtil.GetSerial(EnumSerialType.瀹㈡埛缂栧彿);
                 materialCustomerList.Add(new WmsMaterialCustomer()
                 {
                     CreatedTime = DateTime.Now,
                     CreatedUserId = CurrentUserInfo.UserId,
                     CreatedUserName = CurrentUserInfo.Name,
                     CustChinaName = baseCustomer.CustChinaName,
-                    CustCode = _custCode,
+                    CustCode = baseCustomer.CustCode,
                     CustEnglishName = baseCustomer.CustEnglishName,
                     CustId = baseCustomer.Id,
                     MaterialCode = wmsMaterial.MaterialCode,
@@ -342,20 +350,19 @@
             }
 
 
-            //寰�鏉ュ叧绯讳俊鎭�
+            //寰�鏉ュ崟浣嶄俊鎭�
             var baseCustomerList = input.BaseCustomerList.Adapt<List<BaseCustomer>>();
             //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
             var materialCustomerList = new List<WmsMaterialCustomer>();
             foreach (var baseCustomer in baseCustomerList)
             {
-                var _custCode = await SerialUtil.GetSerial(EnumSerialType.瀹㈡埛缂栧彿);
                 materialCustomerList.Add(new WmsMaterialCustomer()
                 {
                     CreatedTime = DateTime.Now,
                     CreatedUserId = CurrentUserInfo.UserId,
                     CreatedUserName = CurrentUserInfo.Name,
                     CustChinaName = baseCustomer.CustChinaName,
-                    CustCode = _custCode,
+                    CustCode = baseCustomer.CustCode,
                     CustEnglishName = baseCustomer.CustEnglishName,
                     CustId = baseCustomer.Id,
                     MaterialCode = wmsMaterial.MaterialCode,

--
Gitblit v1.9.3