From 0999b36321bac9e303b547b55c35b91d1546f1c4 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周五, 16 5月 2025 17:38:02 +0800
Subject: [PATCH] 添加库存操作逻辑

---
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
index f8d424b..60d1674 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -186,15 +186,19 @@
         {
             throw new UserFriendlyException("鐗╂枡淇℃伅涓嶅瓨鍦�");
         }
+        var palceInfo = await _wmsplaceRepository.FindByNameAsync(input.PlaceNo);
+
         var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo);
         //if (container == null)
         //{
         //    throw new UserFriendlyException("鎵樼洏淇℃伅涓嶅瓨鍦�");
         //}
+        input.ContainerNo = string.IsNullOrEmpty(input.ContainerNo) ? "TP_" + DateTime.Now.ToString("yyMMddHHmmssfff") : input.ContainerNo;
 
         var wmsmaterialstock = ObjectMapper.Map<WmsMaterialStockCreateDto, WmsMaterialStock>(input);
         input.MapExtraPropertiesTo(wmsmaterialstock, MappingPropertyDefinitionChecks.None);
         wmsmaterialstock.MaterialId = Guid.NewGuid().ToString("N");
+        wmsmaterialstock.MaterialNo = material.MaterialNo;
         wmsmaterialstock.MaterialName = material.MaterialName;
 
         wmsmaterialstock.ContainerStatus = ContainerStatusEnum.KUWEI;
@@ -227,7 +231,12 @@
         var wmsmaterialstockList = await _wmsmaterialstockRepository.GetStockListAsync(new WmsMaterialStock { PlaceNo = input.PlaceNo });
         if (wmsmaterialstockList.Count > 0)
         {
-            if (wmsmaterialstockList[0].MaterialNo != input.MaterialNo)
+            if(wmsmaterialstock.StorageTypeNo == PlaceTypeEnum.YUANLIAOKUWEI)
+            {
+                wmsmaterialstock.ContainerNo = wmsmaterialstockList[0].ContainerNo;
+                input.ContainerNo = wmsmaterialstockList[0].ContainerNo;
+            }
+            if (wmsmaterialstockList[0].MaterialNo != material.MaterialNo)
             {
                 throw new UserFriendlyException("褰撳墠搴撲綅宸插瓨鏀惧埆鐨勭墿鏂�");
             }
@@ -256,7 +265,7 @@
             // 娣诲姞搴撳瓨璁板綍
             var record = new WmsInOutStockRecord
             {
-                TaskNo = input.TaskNo,
+                TaskNo = string.IsNullOrEmpty(input.OrderNo) ? "Task_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") : input.OrderNo,
                 OrderNo = input.OrderNo,
                 StockType = StockTypeEnum.InBound,
                 ContainerNo = stock.ContainerNo,
@@ -693,8 +702,8 @@
     protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialStockCreateOrUpdateDtoBase input)
     {
         Check.NotNull(input, nameof(input));
-        Check.NotNullOrWhiteSpace(input.MaterialNo, "缂栧彿", WmsMaterialStockConsts.MaxCodeLength);
-        Check.NotNullOrWhiteSpace(input.MaterialName, "鍚嶇О", WmsMaterialStockConsts.MaxNameLength);
+        //Check.NotNullOrWhiteSpace(input.MaterialNo, "缂栧彿", WmsMaterialStockConsts.MaxCodeLength);
+        //Check.NotNullOrWhiteSpace(input.MaterialName, "鍚嶇О", WmsMaterialStockConsts.MaxNameLength);
         Check.Length(input.Remark, "澶囨敞", WmsMaterialStockConsts.MaxRemarkLength);
         return Task.CompletedTask;
     }

--
Gitblit v1.9.3