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 +++++++++++++----
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDrawer.tsx    |   20 ++++++++++----------
 HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceDrawer.tsx                |    6 +++++-
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs        |    4 ++--
 4 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDrawer.tsx
index 9ac1ac1..6a68ac0 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDrawer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Controllers/WmsMaterialStockDrawer.tsx
@@ -77,22 +77,22 @@
         { max: 50, message: '闀垮害涓嶈兘瓒呰繃50涓瓧绗�', trigger: 'blur' },
       ],
     },
-    {
-      label: '鐗╂枡鍚嶇О',
-      prop: 'materialName',
-      el: 'input',
-      placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
-    },
+    // {
+    //   label: '鐗╂枡鍚嶇О',
+    //   prop: 'materialName',
+    //   el: 'input',
+    //   placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
+    // },
     // 瀹瑰櫒淇℃伅
     {
       label: '瀹瑰櫒缂栧彿',
       prop: 'containerNo',
       el: 'input',
       placeholder: '璇疯緭鍏ュ鍣ㄧ紪鍙�',
-      rules: [
-        { required: true, message: '鐗╂枡缂栧彿涓嶈兘涓虹┖', trigger: 'blur' },
-        { max: 50, message: '闀垮害涓嶈兘瓒呰繃50涓瓧绗�', trigger: 'blur' },
-      ],
+      // rules: [
+      //   { required: true, message: '鐗╂枡缂栧彿涓嶈兘涓虹┖', trigger: 'blur' },
+      //   { max: 50, message: '闀垮害涓嶈兘瓒呰繃50涓瓧绗�', trigger: 'blur' },
+      // ],
     },
     // 搴撳瓨淇℃伅
     {
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceDrawer.tsx
index 75bdf96..8b7a547 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceDrawer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Controllers/WmsPlaceDrawer.tsx
@@ -27,6 +27,7 @@
    */
   const initiateData: Ref<Record<string, any>> = ref({})
   const formData = ref<Record<string, any>>({})
+  const areas = ref([])
   // ref
   const formRef = ref()
 
@@ -160,6 +161,7 @@
           ...attrs,
         })
       },
+      width: '100%',
       placeholder: '鏈�澶у簱瀛樻暟',
       rules: [
         { required: true, message: '鏄惁绌烘墭涓嶈兘涓虹┖', trigger: 'change' },
@@ -277,6 +279,7 @@
     updateFormItemOptions('emptyContainer', yesNoData)
 
     const areaList = await getAreaAreaDataList()
+    areas.value = areaList
     updateFormAreaOptions('areaCode', areaList)
 
     if (current.value) {
@@ -303,12 +306,13 @@
       formData.value = {
         storageTypeNo: 1, // 璐т綅绫诲瀷
         placeStatus: 1, // 璐т綅鐘舵��
-        areaCode: areaList[0], // 鎵�鍦ㄥ簱鍖�
+        areaCode: areaList[0].areaNo, // 鎵�鍦ㄥ簱鍖�
         aisle: 1, // 宸烽亾
         layerNo: 1, // 灞�
         islock: 0, // 鏄惁閿佸畾
         isDisabled: false, // 鏄惁绂佺敤
         emptyContainer: 0, // 鏄惁绌烘墭
+        maxStockNumber: 100,
       }
       updateCheckData()
     }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
index f90eeff..dcd579c 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -240,7 +240,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.Move,
                         ContainerNo = item.ContainerNo,
@@ -316,7 +316,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.Move,
                         ContainerNo = item.ContainerNo,
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