From f4d2c032c91e459ee8775ba88870478be3e76261 Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周三, 24 4月 2024 14:39:09 +0800
Subject: [PATCH] 调整

---
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs |   61 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 8 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 bc3e25c..7ac1c0d 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
@@ -27,18 +27,23 @@
         private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
         private readonly ISysExcelTemplateService _sysExcelTemplateService;
         private readonly static object _lock = new();
-
+        private readonly IRepository<WmsMaterialCustomer, MasterDbContextLocator> _wmsMaterialCustomerRep;
+        private readonly IRepository<WmsSubstituteGood, MasterDbContextLocator> _wmsSubstituteGoodRep;
         public WmsMaterialService(
             IRepository<WmsMaterial,MasterDbContextLocator> wmsMaterialRep
             ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
             ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
             ,ISysExcelTemplateService sysExcelTemplateService
+            , IRepository<WmsMaterialCustomer, MasterDbContextLocator> wmsMaterialCustomerRep
+            , IRepository<WmsSubstituteGood, MasterDbContextLocator> wmsSubstituteGoodRep
         )
         {
             _wmsMaterialRep = wmsMaterialRep;
          _sysDictTypeRep = sysDictTypeRep;
          _sysDictDataRep = sysDictDataRep;
          _sysExcelTemplateService = sysExcelTemplateService;
+            _wmsMaterialCustomerRep = wmsMaterialCustomerRep;
+            _wmsSubstituteGoodRep = wmsSubstituteGoodRep;
         }
 
         /// <summary>
@@ -58,7 +63,7 @@
                                      .Where(input.MaterialType != null, u => u.MaterialType == input.MaterialType)
                                      .Where(!string.IsNullOrEmpty(input.MaterialGroup), u => u.MaterialGroup == input.MaterialGroup)
                                      .Where(!string.IsNullOrEmpty(input.ABCClassName), u => u.ABCClassName == input.ABCClassName)
-                                     .Where(input.ABCClass != null, u => u.ABCClass == input.ABCClass)
+                                     //.Where(input.ABCClass != null, u => u.ABCClass == input.ABCClass)
                                      .Where(!string.IsNullOrEmpty(input.MaterialSpec), u => u.MaterialSpec == input.MaterialSpec)
                                      .Where(!string.IsNullOrEmpty(input.InPlaceCode), u => u.InPlaceCode == input.InPlaceCode)
                                      .Where(!string.IsNullOrEmpty(input.MaterialUnit), u => u.MaterialUnit == input.MaterialUnit)
@@ -123,7 +128,7 @@
                 .Where(pMaterialType != null, u => u.MaterialType == pMaterialType)
                 .Where(!string.IsNullOrEmpty(pMaterialGroup), u => u.MaterialGroup == pMaterialGroup)
                 .Where(!string.IsNullOrEmpty(pABCClassName), u => u.ABCClassName == pABCClassName)
-                .Where(pABCClass != null, u => u.ABCClass == pABCClass)
+                //.Where(pABCClass != null, u => u.ABCClass == pABCClass)
                 .Where(!string.IsNullOrEmpty(pMaterialSpec), u => u.MaterialSpec == pMaterialSpec)
                 .Where(!string.IsNullOrEmpty(pInPlaceCode), u => u.InPlaceCode == pInPlaceCode)
                 .Where(!string.IsNullOrEmpty(pMaterialUnit), u => u.MaterialUnit == pMaterialUnit)
@@ -166,9 +171,10 @@
         public async Task<List<WmsMaterialOutput>> List([FromQuery] WmsMaterialInput input)
         {
             return await _wmsMaterialRep.DetachedEntities.ProjectToType<WmsMaterialOutput>().ToListAsync();
-        }    
+        }
 
         #region 澧炪�佸垹銆佹敼
+
 
         /// <summary>
         /// 澧炲姞鐗╂枡淇℃伅琛�
@@ -176,16 +182,55 @@
         /// <param name="input"></param>
         /// <returns></returns>
         [HttpPost("WmsMaterial/add")]
-        public async Task Add(AddWmsMaterialInput input)
+        [UnitOfWork]
+        public async Task Add(AddWmsMaterialInfoInput input)
         {
-            var wmsMaterial = input.Adapt<WmsMaterial>();
-                        //楠岃瘉
+
+            //鐗╂枡淇℃伅
+            var wmsMaterial = input.MaterialInput.Adapt<WmsMaterial>();
+            //鎺у埗瑙勫垯淇℃伅
+            var controlRuleld = input.ControlRuleld;
+            wmsMaterial.ControlRuleId = controlRuleld;
+
+            //瀹㈡埛妗f淇℃伅
+            var baseCustomerList = input.BaseCustomerList.Adapt<List<BaseCustomer>>();
+            //鐗╂枡瀹㈡埛鍏宠仈鍏崇郴
+            var materialCustomerList=new List<WmsMaterialCustomer>();
+            foreach (var baseCustomer in baseCustomerList)
+            {
+                materialCustomerList.Add(new WmsMaterialCustomer()
+                {
+                    CreatedTime = DateTime.Now,
+                    CreatedUserId = CurrentUserInfo.UserId,
+                    CreatedUserName = CurrentUserInfo.Name,
+                    CustChinaName = baseCustomer.CustChinaName,
+                    CustCode = baseCustomer.CustCode,
+                    CustEnglishName = baseCustomer.CustEnglishName,
+                    CustId = baseCustomer.Id,
+                    MaterialCode = wmsMaterial.MaterialCode,
+                    MaterialId = wmsMaterial.Id,
+                    MaterialName = wmsMaterial.MaterialName,
+                    UpdatedTime = DateTime.Now,
+                    UpdatedUserId = CurrentUserInfo.UserId,
+                    UpdatedUserName = CurrentUserInfo.Name
+                    
+                });
+            }
+            //楠岃瘉
             await CheckExisit(wmsMaterial);
+
+            //鏇夸唬鍝佷俊鎭�
+            var substituteGoodList = input.SubstituteGoodList.Adapt<List<WmsSubstituteGood>>();
 
             wmsMaterial.CreatedUserId = wmsMaterial.UpdatedUserId = SysHelper.GetUserId();
             wmsMaterial.CreatedUserName = wmsMaterial.UpdatedUserName = SysHelper.GetUserName();
             wmsMaterial.CreatedTime = wmsMaterial.UpdatedTime = SysHelper.GetNowTime();
+
+
             await _wmsMaterialRep.InsertAsync(wmsMaterial);
+            await _wmsMaterialCustomerRep.InsertAsync(materialCustomerList);
+            await _wmsSubstituteGoodRep.InsertAsync(substituteGoodList);
+
         }
 
         /// <summary>
@@ -396,7 +441,7 @@
                               }
                               else
                               {
-                                 addItem.ABCClass = outABCClass;
+                                // addItem.ABCClass = outABCClass;
                               }
                           
                           }

--
Gitblit v1.9.3