From f78f5686e934249f87bc07cb7bef3c3dbcd950c6 Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周三, 24 4月 2024 14:24:41 +0800
Subject: [PATCH] 修改

---
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterial/WmsMaterialService.cs |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 50 insertions(+), 5 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..95805a1 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>
@@ -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>

--
Gitblit v1.9.3