From 743c2748dd4e3c2c2a84c7ae930a9cf287453a84 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周一, 12 5月 2025 17:10:40 +0800
Subject: [PATCH] 出入库

---
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs       |  209 ++--
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs                      |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs  |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs                              |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.cs                       |   27 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs                          |   29 
 HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts                                          |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/LMesOperateController.cs                                      |   40 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs      |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.Designer.cs              | 1792 +++++++++++++++++++++++++++++++++++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/LMesCallMaterialInput.cs            |   29 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs |    5 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs                   |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs                                                |    5 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs                                      |   28 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/CallMaterialOutput.cs               |   73 +
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs                    |   13 
 HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts                  |   24 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat                                       |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs                                     |   10 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs                          |  114 ++
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs     |    6 
 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx       |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs              |    5 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs                       |    4 
 HIAWms/project/Wms.cmsproj                                                                                   |    0 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs                                      |    5 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/ILMesOperateAppService.cs                 |   19 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs              |   17 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs       |    7 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs                         |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs                 |   14 
 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts        |    8 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs                            |    6 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs                 |    5 
 35 files changed, 2,376 insertions(+), 149 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
index 7fec7c0..f651ce0 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
@@ -352,7 +352,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
-              <IconButton
+              {/* <IconButton
                 v-permission="wmsInOutStockOrder-add"
                 icon="add-p"
                 onClick={openCallMaterialDialog}
@@ -360,7 +360,7 @@
               >
                 鍙枡
               </IconButton>
-              <el-divider direction="vertical" />
+              <el-divider direction="vertical" /> */}
               {/* <el-upload
                 v-permission="wmsInOutStockOrder-import"
                 name="file"
diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts
index 86f43fa..57a5110 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/Config.ts
@@ -24,10 +24,10 @@
     field: 'materialName',
     title: '鐗╂枡鍚嶇О',
   },
-  {
-    field: 'containerNo',
-    title: '瀹瑰櫒缂栧彿',
-  },
+  // {
+  //   field: 'containerNo',
+  //   title: '瀹瑰櫒缂栧彿',
+  // },
   {
     field: 'materialModel',
     title: '鍨嬪彿',
diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
index b48cc5a..546381a 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
@@ -5,6 +5,10 @@
     title: '搴忓彿',
   },
   {
+    field: 'taskNo',
+    title: '浠诲姟鍙�',
+  },
+  {
     field: 'orderNo',
     title: '鍗曟嵁缂栧彿',
   },
@@ -16,14 +20,10 @@
     field: 'materialNo',
     title: '鐗╂枡浠跺彿',
   },
-  {
-    field: 'materialId',
-    title: '鐗╂枡ID',
-  },
-  {
-    field: 'taskNo',
-    title: '浠诲姟鍙�',
-  },
+  // {
+  //   field: 'materialId',
+  //   title: '鐗╂枡ID',
+  // },
   {
     field: 'sourcePlace',
     title: '璧峰搴撲綅',
@@ -36,10 +36,10 @@
     field: 'stockTypeDesc',
     title: '鎿嶄綔绫诲瀷',
   },
-  {
-    field: 'containerNo',
-    title: '瀹瑰櫒缂栧彿',
-  },
+  // {
+  //   field: 'containerNo',
+  //   title: '瀹瑰櫒缂栧彿',
+  // },
   {
     field: 'materialModel',
     title: '鍨嬪彿',
diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
index 68da84f..f6febed 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts
@@ -33,6 +33,10 @@
     title: '鐩爣搴撲綅',
   },
   {
+    field: 'plcTaskId',
+    title: 'Plc浠诲姟鍙�',
+  },
+  {
     field: 'aisle',
     title: '宸烽亾',
   },
diff --git a/HIAWms/project/Wms.cmsproj b/HIAWms/project/Wms.cmsproj
index 8309144..6a194c5 100644
--- a/HIAWms/project/Wms.cmsproj
+++ b/HIAWms/project/Wms.cmsproj
Binary files differ
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/CallMaterialOutput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/CallMaterialOutput.cs
new file mode 100644
index 0000000..f3c3b6a
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/CallMaterialOutput.cs
@@ -0,0 +1,73 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Entities;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto
+{
+    /// <summary>
+    /// 鍙枡杩斿洖
+    /// </summary>
+    public class CallMaterialOutput : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
+    {
+        public string MaterialNo { get; set; }
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public virtual string MaterialId { get; set; }
+
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public virtual string MaterialName { get; set; }
+
+        /// <summary>
+        /// 瀹瑰櫒缂栧彿
+        /// </summary>
+        public string ContainerNo { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鎵规
+        /// </summary>
+        public string MaterialBatch { get; set; }
+
+        /// <summary>
+        /// 鍨嬪彿
+        /// </summary>
+        public string MaterialModel { get; set; }
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        public string PlaceNo { get; set; }
+
+        /// <summary>
+        /// 鍏ュ簱鏃堕棿
+        /// </summary>
+        public DateTime? InStockTime { get; set; }
+
+        /// <summary>
+        /// 浠诲姟鍙�
+        /// </summary>
+        public string TaskNo { get; set; }
+
+        /// <summary>
+        /// 鏉ユ簮鍗曟嵁鍙�
+        /// </summary>
+        public string? SourceOrderNo { get; set; }
+
+        /// <summary>
+        /// PLC浠诲姟鍙�
+        /// </summary>
+        public int PlcTaskId { get; set; }
+        public string ConcurrencyStamp
+        {
+            get
+            ;
+            set;
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/LMesCallMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/LMesCallMaterialInput.cs
new file mode 100644
index 0000000..f826836
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/CommonDto/LMesCallMaterialInput.cs
@@ -0,0 +1,29 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto
+{
+    /// <summary>
+    /// LMES鍙枡鍙傛暟
+    /// </summary>
+    public class LMesCallMaterialInput
+    {
+        /// <summary>
+        /// 鍙枡鏁伴噺
+        /// </summary>
+        public int Quantity { get; set; }
+
+        /// <summary>
+        /// 鍘熸枡鏍囪瘑
+        /// </summary>
+        public string DataIdentifier { get; set; }
+
+        /// <summary>
+        /// 鍘熸枡鍨嬪彿
+        /// </summary>
+        public string? MaterialMode { get; set; }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
index 9d51416..81e92fe 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
@@ -46,5 +46,10 @@
         /// 鍙枡鏁伴噺
         /// </summary>
         public int MaterialNumber { get; set; }
+
+        /// <summary>
+        /// 鍘熸枡鏍囪瘑
+        /// </summary>
+        public string DataIdentifier { get; set; }
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
index afbb825..3c86c3a 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordDto.cs
@@ -28,6 +28,11 @@
     public string MaterialNo { get; set; }
 
     /// <summary>
+    /// 鐗╂枡鎵规
+    /// </summary>
+    public string? MaterialBatch { get; set; }
+
+    /// <summary>
     /// 鎿嶄綔绫诲瀷
     /// </summary>
     public StockTypeEnum StockType { get; set; }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
index 9e0ba7b..973d40a 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/GetWmsTaskInput.cs
@@ -48,10 +48,15 @@
         /// </summary>
         public string TaskNo { get; set; }
 
-        /// <summary>
-        /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
-        /// </summary>
-        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
+    /// <summary>
+    /// PLC浠诲姟鍙�
+    /// </summary>
+    public int PlcTaskId { get; set; }
+
+    /// <summary>
+    /// 浠诲姟鍙�-鏌ヨ鍏崇郴杩愮畻绗� 
+    /// </summary>
+    public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.妯$硦鏌ヨ;
 
         /// <summary>
         /// 浠诲姟绫诲瀷
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
index 1a70a22..e32c54b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskCreateOrUpdateDtoBase.cs
@@ -1,130 +1,135 @@
-using CMS.Plugin.HIAWms.Domain.Shared.Enums; 
-using System; 
-using Volo.Abp.Application.Dtos; 
- 
-namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask; 
- 
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using System;
+using Volo.Abp.Application.Dtos;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
+
 /// <summary> 
 /// Wms浠诲姟绠$悊鍒涘缓鎴栨洿鏂板熀绫� 
 /// </summary> 
-public abstract class WmsTaskCreateOrUpdateDtoBase : ExtensibleEntityDto 
-{ 
-            /// <summary>
-        /// 浠诲姟鍙�
-        /// </summary>
-        public string TaskNo { get; set; }
+public abstract class WmsTaskCreateOrUpdateDtoBase : ExtensibleEntityDto
+{
+    /// <summary>
+    /// 浠诲姟鍙�
+    /// </summary>
+    public string TaskNo { get; set; }
 
-        /// <summary>
-        /// 浠诲姟绫诲瀷
-        /// </summary>
-        public TaskTypeEnum TaskType { get; set; }
+    /// <summary>
+    /// 浠诲姟绫诲瀷
+    /// </summary>
+    public TaskTypeEnum TaskType { get; set; }
 
-        /// <summary>
-        /// 浠诲姟绛夌骇
-        /// </summary>
-        public int TaskLevel { get; set; }
+    /// <summary>
+    /// 浠诲姟绛夌骇
+    /// </summary>
+    public int TaskLevel { get; set; }
 
-        /// <summary>
-        /// 浠诲姟鐘舵��
-        /// </summary>
-        public WmsTaskStatus TaskStatus { get; set; }
+    /// <summary>
+    /// 浠诲姟鐘舵��
+    /// </summary>
+    public WmsTaskStatus TaskStatus { get; set; }
 
-        /// <summary>
-        /// 鎵樼洏缂栧彿
-        /// </summary>
-        public string? ContainerNo { get; set; }
+    /// <summary>
+    /// 鎵樼洏缂栧彿
+    /// </summary>
+    public string? ContainerNo { get; set; }
 
-        /// <summary>
-        /// 璧峰搴撲綅
-        /// </summary>
-        public string? SourcePlace { get; set; }
+    /// <summary>
+    /// PLC浠诲姟鍙�
+    /// </summary>
+    public int PlcTaskId { get; set; }
 
-        /// <summary>
-        /// 鐩爣搴撲綅
-        /// </summary>
-        public string? ToPlace { get; set; }
+    /// <summary>
+    /// 璧峰搴撲綅
+    /// </summary>
+    public string? SourcePlace { get; set; }
 
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        public int? Aisle { get; set; }
+    /// <summary>
+    /// 鐩爣搴撲綅
+    /// </summary>
+    public string? ToPlace { get; set; }
 
-        /// <summary>
-        /// 鍫嗗灈鏈篒D
-        /// </summary>
-        public int? DodeviceId { get; set; }
+    /// <summary>
+    /// 宸烽亾
+    /// </summary>
+    public int? Aisle { get; set; }
 
-        /// <summary>
-        /// 璁惧绫诲瀷
-        /// </summary>
-        public DodevicetypeEnum Dodevicetype { get; set; }
+    /// <summary>
+    /// 鍫嗗灈鏈篒D
+    /// </summary>
+    public int? DodeviceId { get; set; }
 
-        /// <summary>
-        /// 璁惧浠诲姟鐘舵��
-        /// </summary>
-        public TaskDodeviceStatus TaskDodeviceStatus { get; set; }
+    /// <summary>
+    /// 璁惧绫诲瀷
+    /// </summary>
+    public DodevicetypeEnum Dodevicetype { get; set; }
 
-        /// <summary>
-        /// WCS鏄惁鍙互璇诲彇
-        /// </summary>
-        public bool IsRead { get; set; }
+    /// <summary>
+    /// 璁惧浠诲姟鐘舵��
+    /// </summary>
+    public TaskDodeviceStatus TaskDodeviceStatus { get; set; }
 
-        /// <summary>
-        /// 瀛愪换鍔$被鍨�
-        /// </summary>
-        public SonTaskTypeEnum? SonTaskType { get; set; }
+    /// <summary>
+    /// WCS鏄惁鍙互璇诲彇
+    /// </summary>
+    public bool IsRead { get; set; }
 
-        /// <summary>
-        /// 鏉ユ簮鍗曟嵁鍙�
-        /// </summary>
-        public string? SourceOrderNo { get; set; }
+    /// <summary>
+    /// 瀛愪换鍔$被鍨�
+    /// </summary>
+    public SonTaskTypeEnum? SonTaskType { get; set; }
 
-        /// <summary>
-        /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
-        /// </summary>
-        public int? IsNextTask { get; set; }
+    /// <summary>
+    /// 鏉ユ簮鍗曟嵁鍙�
+    /// </summary>
+    public string? SourceOrderNo { get; set; }
 
-        /// <summary>
-        /// 鍙彉鍙橀噺1
-        /// </summary>
-        public string? MutableParam1 { get; set; }
+    /// <summary>
+    /// 涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛
+    /// </summary>
+    public int? IsNextTask { get; set; }
 
-        /// <summary>
-        /// 鍙彉鍙橀噺2
-        /// </summary>
-        public string? MutableParam2 { get; set; }
+    /// <summary>
+    /// 鍙彉鍙橀噺1
+    /// </summary>
+    public string? MutableParam1 { get; set; }
 
-        /// <summary>
-        /// 鍙彉鍙橀噺3
-        /// </summary>
-        public string? MutableParam3 { get; set; }
+    /// <summary>
+    /// 鍙彉鍙橀噺2
+    /// </summary>
+    public string? MutableParam2 { get; set; }
 
-        /// <summary>
-        /// 鎺掑簭
-        /// </summary>
-        public int Sort { get; set; }
+    /// <summary>
+    /// 鍙彉鍙橀噺3
+    /// </summary>
+    public string? MutableParam3 { get; set; }
 
-        /// <summary>
-        /// 鏄惁绂佺敤
-        /// </summary>
-        public bool? IsDisabled { get; set; }
+    /// <summary>
+    /// 鎺掑簭
+    /// </summary>
+    public int Sort { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? CreatorId { get; set; }
+    /// <summary>
+    /// 鏄惁绂佺敤
+    /// </summary>
+    public bool? IsDisabled { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? LastModifierId { get; set; }
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? CreatorId { get; set; }
 
- 
- 
+    /// <summary>
+    /// 
+    /// </summary>
+    public string? LastModifierId { get; set; }
+
+
+
     /// <summary> 
     /// Initializes a new instance of the <see cref="WmsTaskCreateOrUpdateDtoBase"/> class. 
     /// </summary> 
-    public WmsTaskCreateOrUpdateDtoBase() : base(false) 
-    { 
-    } 
-} 
+    public WmsTaskCreateOrUpdateDtoBase() : base(false)
+    {
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
index 4e0f858..36eb5c1 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskDto.cs
@@ -67,6 +67,12 @@
     /// </summary>
     public string? ToPlace { get; set; }
 
+
+    /// <summary>
+    /// PLC浠诲姟鍙�
+    /// </summary>
+    public int PlcTaskId { get; set; }
+
     /// <summary>
     /// 宸烽亾
     /// </summary>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
index c083ba3..cbfc3e1 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskExportModel.cs
@@ -52,10 +52,16 @@
         [ExcelColumn(Name = "鐩爣搴撲綅", Width = 25)]
         public string ToPlace { get; set; }
 
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        [ExcelColumn(Name = "宸烽亾", Width = 25)]
+    /// <summary>
+    /// PLC浠诲姟鍙�
+    /// </summary>
+    [ExcelColumn(Name = "PLC浠诲姟鍙�", Width = 25)]
+    public int PlcTaskId { get; set; }
+
+    /// <summary>
+    /// 宸烽亾
+    /// </summary>
+    [ExcelColumn(Name = "宸烽亾", Width = 25)]
         public int? Aisle { get; set; }
 
         /// <summary>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/ILMesOperateAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/ILMesOperateAppService.cs
new file mode 100644
index 0000000..6da6935
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/ILMesOperateAppService.cs
@@ -0,0 +1,19 @@
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Services
+{
+    public interface ILMesOperateAppService
+    {
+        /// <summary>
+        /// LMES鍙枡鍙傛暟
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        Task<List<CallMaterialOutput>> LMesCallMaterialAsync(List<LMesCallMaterialInput> input);
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs
index 66a94bc..aa79944 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs
@@ -1,4 +1,5 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -14,6 +15,6 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        Task CallMaterialAsync(List<CallMaterialInput> input);
+        Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input);
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
new file mode 100644
index 0000000..f2586a5
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
@@ -0,0 +1,114 @@
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockOrder;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.WmsMaterials;
+using CMS.Plugin.HIAWms.Domain.WmsTask;
+using Microsoft.Extensions.DependencyInjection;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Uow;
+
+namespace CMS.Plugin.HIAWms.Application.Implements
+{
+    /// <summary>
+    /// LMES鎿嶄綔鏈嶅姟
+    /// </summary>
+    public class LMesOperateAppService : CMSPluginAppService, ILMesOperateAppService
+    {
+        private readonly IWmsTaskRepository _wmsTaskRepository;
+        private readonly IWmsMaterialRepository _wmsMaterialRepository;
+        private readonly IWmsInOutStockOrderAppService _wmsInOutStockOrderAppService;
+        private readonly IWmsOutStockAppService _wmsOutStockOrderAppService;
+        private readonly IServiceProvider _serviceProvider;
+
+        public LMesOperateAppService(IWmsTaskRepository wmsTaskRepository,
+            IWmsMaterialRepository wmsMaterialRepository,
+            IWmsInOutStockOrderAppService wmsInOutStockOrderAppService,
+            IWmsOutStockAppService wmsOutStockOrderAppService
+,
+            IServiceProvider serviceProvider)
+        {
+            _wmsTaskRepository = wmsTaskRepository;
+            _wmsMaterialRepository = wmsMaterialRepository;
+            _wmsInOutStockOrderAppService = wmsInOutStockOrderAppService;
+            _wmsOutStockOrderAppService = wmsOutStockOrderAppService;
+            _serviceProvider = serviceProvider;
+        }
+
+        /// <summary>
+        /// lmes鍙枡.
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        /// <exception cref="UserFriendlyException"></exception>
+        public async Task<List<CallMaterialOutput>> LMesCallMaterialAsync(List<LMesCallMaterialInput> input)
+        {
+            if (input == null || input.Count == 0)
+            {
+                throw new UserFriendlyException("鍙枡鍙傛暟閿欒");
+            }
+
+            //using var scope = _serviceProvider.CreateScope();
+            //var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+            //using var uow = unitOfWorkManager.Begin(requiresNew: true);
+
+            var result = new List<CallMaterialOutput>();
+            foreach (var item in input)
+            {
+                if (string.IsNullOrEmpty(item.MaterialMode))
+                {
+                    throw new UserFriendlyException("鍙枡鍨嬪彿涓嶈兘涓虹┖");
+                }
+
+                var task = await _wmsTaskRepository.QueryWmsTaskByDataIdentifierAasync(item.DataIdentifier);
+                if (task != null)
+                {
+                    throw new UserFriendlyException($"鍘熸枡鏍囪瘑{item.DataIdentifier}宸茬敓鎴愪换鍔�,浠诲姟鍙穥task.TaskNo}锛屾棤闇�閲嶅鎿嶄綔");
+                }
+
+                // 鐢熸垚鍑哄簱鍗�
+                var materiaL = await _wmsMaterialRepository.FindByModelAsync(item.MaterialMode);
+                if (materiaL == null)
+                {
+                    throw new UserFriendlyException("璇ュ瀷鍙风墿鏂欎俊鎭笉瀛樺湪");
+                }
+
+                var createOrderInput = new WmsInOutStockOrderCreateDto
+                {
+                    OrderType = Domain.Shared.Enums.OrderTypeEnum.PRODUCTCALL,
+                    MaterialNo = materiaL.MaterialNo,
+                    MaterialName = materiaL.MaterialName,
+                    MaterialModel = item.MaterialMode,
+                    MaterialNumber = 1,
+                    MaterialBatch = item.MaterialMode
+                };
+                var createResult = await _wmsInOutStockOrderAppService.CreateAsync(createOrderInput);
+
+                // 鍙枡
+                var callInput = new List<CallMaterialInput>
+                {
+                    new CallMaterialInput
+                    {
+                        OrderNo = createResult.OrderNo,
+                        MaterialModel = item.MaterialMode,
+                        MaterialNumber = 1,
+                        MaterialNo = materiaL.MaterialNo,
+                        MaterialName = materiaL.MaterialName,
+                        DataIdentifier = item.DataIdentifier,
+                    },
+                };
+                var callresult = await _wmsOutStockOrderAppService.CallMaterialAsync(callInput);
+                result.AddRange(callresult);
+            }
+
+            //await uow.SaveChangesAsync();
+
+            return result;
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
index 7389cab..c975a78 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
@@ -165,7 +165,7 @@
             await BindMaterialContaienrAsync(input);
 
             // 鐢熸垚浠诲姟
-            var plactDict = await _wmsCommonAppService.FindAvailablePlacesAsync(input.MaterialNo, input.StockNumber);
+            var plactDict = await _wmsCommonAppService.FindAvailablePlacesAsync(input.MaterialModel, input.StockNumber);
             var taskList = new List<WmsTask>();
             foreach (var kvp in plactDict)
             {
@@ -186,9 +186,11 @@
                         TaskLevel = 999,
                         Aisle = 1,
                         DodeviceId = 0,
+                        Dodevicetype = DodevicetypeEnum.Srm,
                         TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
                         IsNextTask = (int)YesNoEnum.Y,
                         IsRead = true,
+                        PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999),
                         MutableParam1 = input.MaterialModel,
                     };
                     taskList.Add(task);
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 5c8a5e6..890f1c6 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -45,9 +45,10 @@
         public async Task<Dictionary<WmsPlaceDto, int>> FindAvailablePlacesAsync(string materialModel,int requiredNum, string materialNo="" )
         {
             // 1. 鑾峰彇鎵�鏈夊簱瀛樺拰搴撲綅淇℃伅
-            var stockList = await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock());
+            var stockList = await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI});
 
-            var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(await _wmsPlaceRepository.GetListAsync(new WmsPlace()));
+            var placeList = await _wmsPlaceRepository.GetListAsync(new WmsPlace { StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI});
+            var allPlaceList = ObjectMapper.Map<List<WmsPlace>, List<WmsPlaceDto>>(placeList);
 
             // 2. 鏌ユ壘鐩稿悓鐗╂枡鍨嬪彿鍜岀紪鍙风殑搴撳瓨锛堟寜搴撳瓨閲忛檷搴忥級
             var sameModelStocks = stockList
@@ -114,6 +115,7 @@
             // 1. 鑾峰彇鎵�鏈夊簱瀛橈紙鎺掗櫎閿佸畾搴撳瓨锛�
             var stockList = (await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock()))
                 .Where(x => x.IsLock == Domain.Shared.Enums.YesNoEnum.N)
+                .Where(x=>x.StorageTypeNo == Domain.Shared.Enums.PlaceTypeEnum.YUANLIAOKUWEI)
                 .ToList();
 
             // 2. 绛涢�夊尮閰嶇墿鏂�
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs
index 5f71424..c12800f 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockOrderAppService.cs
@@ -132,7 +132,7 @@
             type = "CK-";
             insertObj.StockType = Domain.Shared.Enums.StockTypeEnum.OutBound;
         }
-        insertObj.OrderNo = type + DateTime.Now.ToString("yyyyMMddHHmmssfff");
+        insertObj.OrderNo = string.IsNullOrEmpty(input.OrderNo) ? type + DateTime.Now.ToString("yyyyMMddHHmmssfff") : input.OrderNo;
         insertObj.Sort = sort;
         insertObj.Priority = priority;
         input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
index 0bb41f5..acc587b 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -1,4 +1,6 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
 using CMS.Plugin.HIAWms.Domain.Shared.Enums;
 using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder;
@@ -37,7 +39,7 @@
             _serviceProvider = serviceProvider;
         }
 
-        public async Task CallMaterialAsync(List<CallMaterialInput> input)
+        public async Task<List<CallMaterialOutput>>CallMaterialAsync(List<CallMaterialInput> input)
         {
             using var scope = _serviceProvider.CreateScope();
             var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
@@ -48,6 +50,7 @@
             {
                 throw new UserFriendlyException("涓�娆″彨鏂欏彧鑳介拡瀵瑰悓涓�鍨嬪彿鐨勭墿鏂欙紒");
             }
+            var callOutput = new List<CallMaterialOutput>();
             foreach (var inputItem in input)
             {
                 var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo);
@@ -55,16 +58,25 @@
                 {
                     throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�");
                 }
+                if(order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN)
+                {
+                    throw new UserFriendlyException("鍏ュ簱鍗曚笉鍏佽鍙枡");
+                }
                 if (inputItem.MaterialNumber <= 0)
                 {
                     throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0");
                 }
-                if (order.MaterialNumber < inputItem.MaterialNumber)
+                if(order.OrderStatus == OrderStatusEnum.Finish)
+                {
+                    throw new UserFriendlyException("宸插畬鎴愬崟鎹笉鍏佽鍙枡");
+                }
+                if (order.MaterialNumber < inputItem.MaterialNumber+order.DistributeNumber)
                 {
                     throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺");
                 }
                 order.OrderStatus = OrderStatusEnum.Executing;
                 order.DistributeNumber = inputItem.MaterialNumber;
+                order.OperateTime = DateTime.Now;
 
                 await _wmsInOutStockOrderRepository.UpdateAsync(order);
 
@@ -93,13 +105,22 @@
                             TaskLevel = order.Priority,
                             Aisle = 1,
                             DodeviceId = 0,
+                            Dodevicetype = DodevicetypeEnum.Srm,
                             TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
                             IsNextTask = (int)YesNoEnum.Y,
                             IsRead = true,
+                            PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999),
                             SourceOrderNo = inputItem.OrderNo,
                             MutableParam1 = inputItem.MaterialModel,
+                            MutableParam2 = inputItem.DataIdentifier
                         };
                         taskList.Add(task);
+
+                        var output = ObjectMapper.Map<WmsMaterialStockDto, CallMaterialOutput>(stock);
+                        output.TaskNo = task.TaskNo;
+                        output.PlcTaskId = task.PlcTaskId;
+                        output.SourceOrderNo = task.SourceOrderNo;
+                        callOutput.Add(output);
                     }
                 }
                 await _wmsTaskRepository.InsertManyAsync(taskList);
@@ -107,6 +128,8 @@
 
             await uow.SaveChangesAsync();
             await uow.CompleteAsync();
+
+            return callOutput;
         }
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
index 2fbdaac..d3d4886 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -167,6 +167,7 @@
         var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input);
         insertObj.Sort = sort;
         input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
+        insertObj.PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999);
 
         await wmsTaskRepository.InsertAsync(insertObj);
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs
index cbc8b3b..875eb6d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/MapperProfiles/WmsInOutStockRecordAutoMapperProfile.cs
@@ -1,5 +1,7 @@
-using AutoMapper; 
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord; 
+using AutoMapper;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 using CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord; 
 using Volo.Abp.ObjectExtending; 
  
@@ -22,5 +24,6 @@
         CreateMap<WmsInOutStockRecord, WmsInOutStockRecordDto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
         CreateMap<WmsInOutStockRecordCreateDto, WmsInOutStockRecord>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
         CreateMap<GetWmsInOutStockRecordInput, WmsInOutStockRecord>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None); 
+        CreateMap<WmsMaterialStockDto, CallMaterialOutput>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
     } 
 } 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
index a96271d..f9e79e7 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/IWmsTaskRepository.cs
@@ -49,5 +49,13 @@
     /// <param name="whereConditions"></param> 
     /// <param name="cancellationToken"></param> 
     /// <returns></returns> 
-    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, CancellationToken cancellationToken = default); 
+    Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<WmsTask, bool>>> whereConditions, CancellationToken cancellationToken = default);
+
+    /// <summary>
+    /// 鏍规嵁鍘熸枡鏍囪瘑鏌ヨ浠诲姟
+    /// </summary>
+    /// <param name="dataIdentifier"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<WmsTask> QueryWmsTaskByDataIdentifierAasync(string dataIdentifier, CancellationToken cancellationToken = default);
 } 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs
index fad2a32..f852dc1 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsTask/WmsTask.cs
@@ -90,6 +90,11 @@
         public int? IsNextTask { get; set; }
 
         /// <summary>
+        /// PLC浠诲姟鍙�
+        /// </summary>
+        public int PlcTaskId { get; set; }
+
+        /// <summary>
         /// 鍙彉鍙橀噺1
         /// </summary>
         public string? MutableParam1 { get; set; }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs
index 7eae430..3579565 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsTask.cs
@@ -83,6 +83,10 @@
                     .IsRequired(false)
                     .HasComment("鐩爣搴撲綅");
 
+                b.Property(x => x.PlcTaskId)
+                .HasDefaultValue(0)
+                   .HasComment("浠诲姟鐘舵��");
+
                 b.Property(x => x.Aisle)
                     .IsRequired(false)
                     .HasComment("宸烽亾");
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
index ee93546..a9034aa 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsInOutStockRecordRepository.cs
@@ -84,7 +84,7 @@
             .IncludeDetails(includeDetails) 
             .WhereIf(whereConditions != null, whereConditions.data) 
             .Where(x => !x.IsDeleted) 
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsInOutStockRecord.Sort) : sorting) 
+            .OrderByDescending(x => x.CreationTime)
             .PageBy(skipCount, maxResultCount) 
             .ToListAsync(GetCancellationToken(cancellationToken)); 
     } 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
index 8c6d4dd..117a125 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
@@ -88,7 +88,7 @@
         .WhereIf(stock?.ContainerType > 0, u => u.ContainerType == stock.ContainerType)
         .WhereIf(!string.IsNullOrEmpty(stock?.MaterialBatch), u => u.MaterialBatch == stock.MaterialBatch)
         .WhereIf(!string.IsNullOrEmpty(stock?.SupplierCode), u => u.SupplierCode == stock.SupplierCode)
-        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel.Contains(stock.MaterialModel))
+        .WhereIf(!string.IsNullOrEmpty(stock?.MaterialModel), u => u.MaterialModel==stock.MaterialModel)
         .WhereIf(!string.IsNullOrEmpty(stock?.PlaceNo), u => u.PlaceNo == stock.PlaceNo)
         .WhereIf(stock.PlaceStatus > 0, u => u.PlaceStatus == stock.PlaceStatus)
         .WhereIf(stock?.StorageTypeNo > 0, u => u.StorageTypeNo == stock.StorageTypeNo)
@@ -123,7 +123,7 @@
         .ToListAsync(GetCancellationToken(cancellationToken));
 
         var groupedData = materialList
-       .GroupBy(x => new { x.MaterialNo, x.PlaceNo, x.ContainerNo})
+       .GroupBy(x => new { x.MaterialNo, x.PlaceNo, x.ContainerNo,x.MaterialModel})
        .Select(g => new WmsMaterialStock
        {
            MaterialNo = g.Key.MaterialNo,
@@ -134,7 +134,7 @@
            PlaceStatus = g.First().PlaceStatus,
            StorageTypeNo = g.First().StorageTypeNo,
            MaterialBatch = g.First().MaterialBatch,
-           MaterialModel = g.First().MaterialModel,
+           MaterialModel = g.Key.MaterialModel,
            AreaCode = g.First().AreaCode,
            AreaName = g.First().AreaName,
            CheckStatus = g.First().CheckStatus,
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
index d4dee6d..5635ff8 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsTaskRepository.cs
@@ -84,7 +84,7 @@
             .IncludeDetails(includeDetails) 
             .WhereIf(whereConditions != null, whereConditions.data) 
             .Where(x => !x.IsDeleted) 
-            .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsTask.Sort) : sorting) 
+            .OrderByDescending(x=>x.CreationTime) 
             .PageBy(skipCount, maxResultCount) 
             .ToListAsync(GetCancellationToken(cancellationToken)); 
     } 
@@ -110,4 +110,19 @@
         return (await GetQueryableAsync()) 
             .Where(x => !x.IsDeleted).IncludeDetails(); 
     } 
+
+    /// <summary>
+    /// 鏍规嵁鍘熸枡鏍囪瘑鏌ヨ浠诲姟
+    /// </summary>
+    /// <param name="dataIdentifier"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    public async Task<WmsTask> QueryWmsTaskByDataIdentifierAasync(string dataIdentifier, CancellationToken cancellationToken = default)
+    {
+        return await (await GetDbSetAsync())
+           .IncludeDetails()
+           .Where(x => !x.IsDeleted)
+           .OrderByDescending(x=>x.CreationTime)
+           .FirstOrDefaultAsync(t => t.MutableParam2 == dataIdentifier, GetCancellationToken(cancellationToken));
+    }
 } 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.Designer.cs
new file mode 100644
index 0000000..a568ea6
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.Designer.cs
@@ -0,0 +1,1792 @@
+锘�// <auto-generated />
+using System;
+using CMS.Plugin.HIAWms.MySQL;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+
+#nullable disable
+
+namespace CMS.Plugin.HIAWms.MySQL.Migrations
+{
+    [DbContext(typeof(CMSPluginDbContext))]
+    [Migration("20250512042203_InitialCreate15")]
+    partial class InitialCreate15
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
+                .HasAnnotation("ProductVersion", "6.0.16")
+                .HasAnnotation("Relational:MaxIdentifierLength", 64);
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("AreaDesc")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鎻忚堪");
+
+                    b.Property<string>("AreaName")
+                        .IsRequired()
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("搴撳尯鍚嶇О");
+
+                    b.Property<string>("AreaNo")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("搴撳尯缂栧彿");
+
+                    b.Property<int>("AreaStatus")
+                        .HasColumnType("int")
+                        .HasComment("搴撳尯鐘舵��");
+
+                    b.Property<int>("AreaType")
+                        .HasColumnType("int")
+                        .HasComment("搴撳尯绫诲瀷");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("StoreCode")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("浠撳簱浠g爜");
+
+                    b.Property<string>("StoreName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("浠撳簱鍚嶇О");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AreaName");
+
+                    b.ToTable("scms_wmsareas", (string)null);
+
+                    b.HasComment("搴撳尯琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b =>
+                {
+                    b.Property<string>("PlaceNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("搴撲綅缂栫爜");
+
+                    b.Property<string>("ContainerNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵樼洏缂栧彿");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp")
+                        .HasComment("骞跺彂鎴�");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime")
+                        .HasComment("鍒涘缓鏃堕棿");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasMaxLength(36)
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId")
+                        .HasComment("鍒涘缓浜篒D");
+
+                    b.Property<string>("CreatorName")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鍒涘缓浜�");
+
+                    b.Property<string>("DeleteRemark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍒犻櫎澶囨敞");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasMaxLength(36)
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId")
+                        .HasComment("鍒犻櫎浜篒D");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime")
+                        .HasComment("鍒犻櫎鏃堕棿");
+
+                    b.Property<string>("ExtraField1")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鎵╁睍瀛楁1");
+
+                    b.Property<string>("ExtraField2")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鎵╁睍瀛楁2");
+
+                    b.Property<string>("ExtraField3")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鎵╁睍瀛楁3");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties")
+                        .HasComment("鎵╁睍灞炴��");
+
+                    b.Property<Guid>("Id")
+                        .HasColumnType("char(36)");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted")
+                        .HasComment("鏄惁鍒犻櫎");
+
+                    b.Property<bool?>("IsDisabled")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime")
+                        .HasComment("淇敼鏃堕棿");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasMaxLength(36)
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId")
+                        .HasComment("淇敼浜篒D");
+
+                    b.Property<string>("LastModifierName")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("淇敼浜�");
+
+                    b.Property<string>("OperationRemark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鎿嶄綔澶囨敞");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.HasKey("PlaceNo", "ContainerNo");
+
+                    b.HasIndex("ContainerNo");
+
+                    b.HasIndex("PlaceNo");
+
+                    b.ToTable("scms_wmscontainerplaces", (string)null);
+
+                    b.HasComment("瀹瑰櫒搴撲綅鍏崇郴琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<string>("ContainerNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵樼洏缂栧彿");
+
+                    b.Property<int>("ContainerStatus")
+                        .HasColumnType("int")
+                        .HasComment("鎵樼洏鐘舵��");
+
+                    b.Property<int>("ContainerType")
+                        .HasColumnType("int")
+                        .HasComment("鎵樼洏绫诲瀷");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int?>("ExceptionNumber")
+                        .HasColumnType("int")
+                        .HasComment("寮傚父鏁伴噺");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<decimal?>("LimitHeight")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闄愰珮");
+
+                    b.Property<decimal?>("LimitLength")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闄愰暱");
+
+                    b.Property<decimal?>("LimitWidth")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闄愬");
+
+                    b.Property<int?>("MaterialNumber")
+                        .HasColumnType("int")
+                        .HasComment("鐗╂枡鏁伴噺");
+
+                    b.Property<decimal?>("MaxWeight")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("杞介噸涓婇檺");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<decimal?>("SpecHeight")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("楂樺害");
+
+                    b.Property<decimal?>("SpecLength")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闀垮害");
+
+                    b.Property<decimal?>("SpecWidth")
+                        .HasPrecision(18, 2)
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("瀹藉害");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ContainerNo")
+                        .IsUnique();
+
+                    b.HasIndex("ContainerStatus");
+
+                    b.HasIndex("ContainerType");
+
+                    b.ToTable("scms_wmscontainers", (string)null);
+
+                    b.HasComment("鎵樼洏淇℃伅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<int>("CompleteNumber")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("瀹屾垚鏁伴噺");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int>("DistributeNumber")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("涓嬪彂鏁伴噺");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MaterialBatch")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵规鍙�");
+
+                    b.Property<string>("MaterialModel")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鍨嬪彿");
+
+                    b.Property<string>("MaterialName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡浠跺彿");
+
+                    b.Property<int>("MaterialNumber")
+                        .HasColumnType("int")
+                        .HasComment("鍗曟嵁鏁伴噺");
+
+                    b.Property<DateTime?>("OperateTime")
+                        .HasColumnType("datetime(6)")
+                        .HasComment("鎿嶄綔鏃堕棿");
+
+                    b.Property<string>("OrderNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鍗曟嵁缂栧彿");
+
+                    b.Property<int>("OrderStatus")
+                        .HasColumnType("int")
+                        .HasComment("鍗曟嵁鐘舵��");
+
+                    b.Property<int>("OrderType")
+                        .HasColumnType("int")
+                        .HasComment("鍗曟嵁绫诲瀷");
+
+                    b.Property<string>("PlanNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鍏宠仈璁″垝缂栧彿");
+
+                    b.Property<int>("Priority")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(1)
+                        .HasComment("浼樺厛绾�");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.Property<int>("StockType")
+                        .HasColumnType("int")
+                        .HasComment("鎿嶄綔绫诲瀷锛堟灇涓惧�硷級");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("MaterialBatch");
+
+                    b.HasIndex("MaterialNo");
+
+                    b.HasIndex("OperateTime");
+
+                    b.HasIndex("OrderNo")
+                        .IsUnique();
+
+                    b.HasIndex("PlanNo");
+
+                    b.ToTable("scms_wmsinoutstockorder", (string)null);
+
+                    b.HasComment("鍑哄叆搴撳崟鎹〃");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<string>("ContainerNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("瀹瑰櫒缂栧彿");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MaterialBatch")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡鎵规");
+
+                    b.Property<string>("MaterialId")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡鍞竴鐮�");
+
+                    b.Property<string>("MaterialModel")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鏈哄瀷");
+
+                    b.Property<string>("MaterialName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡浠跺彿");
+
+                    b.Property<string>("OrderNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鍗曟嵁缂栧彿");
+
+                    b.Property<int>("OrderType")
+                        .HasColumnType("int")
+                        .HasComment("鍗曟嵁绫诲瀷锛堟灇涓惧�硷級");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ContainerNo");
+
+                    b.HasIndex("MaterialId");
+
+                    b.HasIndex("MaterialNo");
+
+                    b.HasIndex("OrderNo");
+
+                    b.HasIndex("OrderNo", "OrderType");
+
+                    b.ToTable("scms_wmsinoutstockorderdetail", (string)null);
+
+                    b.HasComment("鍑哄叆搴撳崟鎹槑缁嗚〃");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<string>("ContainerNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("瀹瑰櫒缂栧彿");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MaterialBatch")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡鎵规");
+
+                    b.Property<string>("MaterialId")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡ID");
+
+                    b.Property<string>("MaterialModel")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鏈哄瀷");
+
+                    b.Property<string>("MaterialName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡浠跺彿");
+
+                    b.Property<DateTime?>("OperateTime")
+                        .HasColumnType("datetime(6)")
+                        .HasComment("鎿嶄綔鏃堕棿");
+
+                    b.Property<string>("OrderNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鍗曟嵁缂栧彿");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("SourcePlace")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("璧峰搴撲綅");
+
+                    b.Property<int>("StockType")
+                        .HasColumnType("int")
+                        .HasComment("鎿嶄綔绫诲瀷");
+
+                    b.Property<string>("TaskNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("浠诲姟鍙�");
+
+                    b.Property<string>("ToPlace")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐩爣搴撲綅");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ContainerNo");
+
+                    b.HasIndex("MaterialId");
+
+                    b.HasIndex("MaterialNo");
+
+                    b.HasIndex("OperateTime");
+
+                    b.HasIndex("OrderNo");
+
+                    b.HasIndex("StockType");
+
+                    b.HasIndex("TaskNo");
+
+                    b.ToTable("scms_wmsinoutstockrecords", (string)null);
+
+                    b.HasComment("鍑哄叆搴撹褰曡〃");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b =>
+                {
+                    b.Property<string>("MaterialId")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡ID");
+
+                    b.Property<string>("ContainerNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵樼洏缂栧彿");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<Guid>("Id")
+                        .HasColumnType("char(36)");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int");
+
+                    b.HasKey("MaterialId", "ContainerNo");
+
+                    b.HasIndex("ContainerNo");
+
+                    b.HasIndex("MaterialId");
+
+                    b.ToTable("scms_wmsmaterialcontainer", (string)null);
+
+                    b.HasComment("鐗╂枡瀹瑰櫒鍏崇郴琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<int?>("CheckStatus")
+                        .HasColumnType("int")
+                        .HasComment("妫�楠岀姸鎬�(0:鏈楠�,1:妫�楠岄�氳繃,2:妫�楠屼笉閫氳繃)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MaterialBatch")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡鎵瑰彿");
+
+                    b.Property<string>("MaterialId")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡鍞竴鐮�");
+
+                    b.Property<string>("MaterialModel")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鏈哄瀷/瑙勬牸");
+
+                    b.Property<string>("MaterialName")
+                        .IsRequired()
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐗╂枡浠e彿");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(255)
+                        .HasColumnType("varchar(255)")
+                        .HasComment("鍐椾綑瀛楁1");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(255)
+                        .HasColumnType("varchar(255)")
+                        .HasComment("鍐椾綑瀛楁2");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(255)
+                        .HasColumnType("varchar(255)")
+                        .HasComment("鍐椾綑瀛楁3");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.Property<int?>("StockNumber")
+                        .HasColumnType("int")
+                        .HasComment("搴撳瓨鏁伴噺");
+
+                    b.Property<string>("SupplierCode")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("渚涘簲鍟嗙紪鍙�");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("CheckStatus");
+
+                    b.HasIndex("MaterialBatch");
+
+                    b.HasIndex("MaterialId")
+                        .IsUnique();
+
+                    b.HasIndex("MaterialName");
+
+                    b.HasIndex("MaterialNo")
+                        .IsUnique();
+
+                    b.HasIndex("SupplierCode");
+
+                    b.ToTable("scms_wmsmaterialinfos", (string)null);
+
+                    b.HasComment("WMS鐗╂枡淇℃伅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("Certification")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("璇佷功缂栧彿");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<string>("Factory")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐢熶骇宸ュ巶");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<int>("IsMainBranch")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鏄惁涓轰富鏀");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<decimal>("Length")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("闀垮害锛堝崟浣嶏細m锛�");
+
+                    b.Property<string>("MaterialModel")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("鍨嬪彿");
+
+                    b.Property<string>("MaterialName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�");
+
+                    b.Property<string>("MaterialQuality")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鏉愯川锛堝锛�304涓嶉攬閽級");
+
+                    b.Property<int>("MaterialType")
+                        .HasColumnType("int")
+                        .HasComment("鐗╂枡绫诲瀷锛堟灇涓惧�硷級");
+
+                    b.Property<decimal>("OuterDiameter")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("澶栧緞锛堝崟浣嶏細mm锛�");
+
+                    b.Property<string>("PrimaryUnit")
+                        .HasMaxLength(20)
+                        .HasColumnType("varchar(20)")
+                        .HasComment("涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�");
+
+                    b.Property<int>("PurchaseType")
+                        .HasColumnType("int")
+                        .HasComment("閲囪喘绫诲瀷锛堟灇涓惧�硷級");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("Standard")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�");
+
+                    b.Property<decimal>("WallThickness")
+                        .HasColumnType("decimal(18,2)")
+                        .HasComment("澹佸帤锛堝崟浣嶏細mm锛�");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("MaterialName");
+
+                    b.HasIndex("MaterialNo")
+                        .IsUnique();
+
+                    b.HasIndex("MaterialType");
+
+                    b.HasIndex("PurchaseType");
+
+                    b.ToTable("scms_wmsmaterials", (string)null);
+
+                    b.HasComment("鐗╂枡鍩虹淇℃伅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("AreaCode")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鍖哄煙缂栧彿");
+
+                    b.Property<string>("AreaName")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("搴撳尯鍚嶇О");
+
+                    b.Property<int?>("CheckStatus")
+                        .HasColumnType("int")
+                        .HasComment("妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<string>("ContainerNo")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("瀹瑰櫒缂栧彿");
+
+                    b.Property<int>("ContainerStatus")
+                        .HasColumnType("int")
+                        .HasComment("瀹瑰櫒鐘舵��");
+
+                    b.Property<int>("ContainerType")
+                        .HasColumnType("int")
+                        .HasComment("瀹瑰櫒绫诲瀷");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int>("EmptyContainer")
+                        .HasColumnType("int")
+                        .HasComment("鏄惁绌烘墭(2:鍚�,1:鏄�)");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<DateTime?>("InStockTime")
+                        .HasColumnType("datetime(6)")
+                        .HasComment("鍏ュ簱鏃堕棿");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<int>("IsLock")
+                        .HasColumnType("int")
+                        .HasComment("鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MaterialBatch")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡鎵规");
+
+                    b.Property<string>("MaterialId")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡ID");
+
+                    b.Property<string>("MaterialModel")
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("鏈哄瀷/瑙勬牸");
+
+                    b.Property<string>("MaterialName")
+                        .IsRequired()
+                        .HasMaxLength(128)
+                        .HasColumnType("varchar(128)")
+                        .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡缂栧彿");
+
+                    b.Property<string>("PlaceNo")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("搴撲綅缂栧彿");
+
+                    b.Property<int>("PlaceStatus")
+                        .HasColumnType("int")
+                        .HasComment("搴撲綅鐘舵��;");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(500)
+                        .HasColumnType("varchar(500)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("鎺掑簭");
+
+                    b.Property<int>("StockNumber")
+                        .HasColumnType("int")
+                        .HasComment("搴撳瓨鏁伴噺");
+
+                    b.Property<int>("StorageTypeNo")
+                        .HasColumnType("int")
+                        .HasComment("搴撲綅绫诲瀷");
+
+                    b.Property<string>("SupplierCode")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("渚涘簲鍟嗙紪鍙�");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AreaCode");
+
+                    b.HasIndex("ContainerNo");
+
+                    b.HasIndex("MaterialName");
+
+                    b.HasIndex("MaterialNo");
+
+                    b.HasIndex("PlaceNo");
+
+                    b.HasIndex("MaterialBatch", "SupplierCode");
+
+                    b.ToTable("scms_wmsmaterialstocks", (string)null);
+
+                    b.HasComment("WMS鐗╂枡搴撳瓨琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<int>("Aisle")
+                        .HasColumnType("int")
+                        .HasComment("宸烽亾");
+
+                    b.Property<string>("AreaCode")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵�鍦ㄥ簱鍖�");
+
+                    b.Property<int>("ColumnNo")
+                        .HasColumnType("int")
+                        .HasComment("鍒�");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int>("EmptyContainer")
+                        .HasColumnType("int")
+                        .HasComment("鏄惁绌烘墭");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<int>("Islock")
+                        .HasColumnType("int")
+                        .HasComment("鏄惁閿佸畾");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<int>("LayerNo")
+                        .HasColumnType("int")
+                        .HasComment("灞�");
+
+                    b.Property<int>("MaxStockNumber")
+                        .HasColumnType("int")
+                        .HasComment("鏈�澶у簱瀛橀噺");
+
+                    b.Property<string>("PlaceNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("缂栧彿");
+
+                    b.Property<int>("PlaceStatus")
+                        .HasColumnType("int")
+                        .HasComment("璐т綅鐘舵��");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("RowNo")
+                        .HasColumnType("int")
+                        .HasComment("鎺�");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<int>("StorageTypeNo")
+                        .HasColumnType("int")
+                        .HasComment("璐т綅绫诲瀷");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AreaCode");
+
+                    b.HasIndex("PlaceNo")
+                        .IsUnique();
+
+                    b.HasIndex("PlaceStatus");
+
+                    b.HasIndex("StorageTypeNo");
+
+                    b.ToTable("scms_wmsplaces", (string)null);
+
+                    b.HasComment("搴撲綅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("RedundantField1")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField2")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("RedundantField3")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��");
+
+                    b.Property<string>("Remark")
+                        .HasMaxLength(256)
+                        .HasColumnType("varchar(256)")
+                        .HasComment("澶囨敞");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("StoreCode")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("浠撳簱浠g爜");
+
+                    b.Property<string>("StoreName")
+                        .HasMaxLength(100)
+                        .HasColumnType("varchar(100)")
+                        .HasComment("浠撳簱鍚嶇О");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("StoreName");
+
+                    b.ToTable("scms_wmsstores", (string)null);
+
+                    b.HasComment("浠撳簱淇℃伅琛�");
+                });
+
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b =>
+                {
+                    b.Property<Guid>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("char(36)");
+
+                    b.Property<int?>("Aisle")
+                        .HasColumnType("int")
+                        .HasComment("宸烽亾");
+
+                    b.Property<string>("ConcurrencyStamp")
+                        .IsConcurrencyToken()
+                        .HasMaxLength(40)
+                        .HasColumnType("varchar(40)")
+                        .HasColumnName("ConcurrencyStamp");
+
+                    b.Property<string>("ContainerNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鎵樼洏缂栧彿");
+
+                    b.Property<DateTime>("CreationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("CreationTime");
+
+                    b.Property<Guid?>("CreatorId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("CreatorId");
+
+                    b.Property<Guid?>("DeleterId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("DeleterId");
+
+                    b.Property<DateTime?>("DeletionTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("DeletionTime");
+
+                    b.Property<int?>("DodeviceId")
+                        .HasColumnType("int")
+                        .HasComment("鍫嗗灈鏈篒D");
+
+                    b.Property<int>("Dodevicetype")
+                        .HasColumnType("int")
+                        .HasComment("璁惧绫诲瀷");
+
+                    b.Property<string>("ExtraProperties")
+                        .HasColumnType("longtext")
+                        .HasColumnName("ExtraProperties");
+
+                    b.Property<bool>("IsDeleted")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("tinyint(1)")
+                        .HasDefaultValue(false)
+                        .HasColumnName("IsDeleted");
+
+                    b.Property<bool?>("IsDisabled")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("鏄惁绂佺敤");
+
+                    b.Property<int?>("IsNextTask")
+                        .HasColumnType("int")
+                        .HasComment("涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛");
+
+                    b.Property<bool>("IsRead")
+                        .HasColumnType("tinyint(1)")
+                        .HasComment("WCS鏄惁鍙互璇诲彇");
+
+                    b.Property<DateTime?>("LastModificationTime")
+                        .HasColumnType("datetime(6)")
+                        .HasColumnName("LastModificationTime");
+
+                    b.Property<Guid?>("LastModifierId")
+                        .HasColumnType("char(36)")
+                        .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MutableParam1")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍙彉鍙橀噺1");
+
+                    b.Property<string>("MutableParam2")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍙彉鍙橀噺2");
+
+                    b.Property<string>("MutableParam3")
+                        .HasMaxLength(200)
+                        .HasColumnType("varchar(200)")
+                        .HasComment("鍙彉鍙橀噺3");
+
+                    b.Property<int>("PlcTaskId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("浠诲姟鐘舵��");
+
+                    b.Property<int?>("SonTaskType")
+                        .HasColumnType("int")
+                        .HasComment("瀛愪换鍔$被鍨�");
+
+                    b.Property<int>("Sort")
+                        .HasColumnType("int")
+                        .HasComment("鎺掑簭");
+
+                    b.Property<string>("SourceOrderNo")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鏉ユ簮鍗曟嵁鍙�");
+
+                    b.Property<string>("SourcePlace")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("璧峰搴撲綅");
+
+                    b.Property<int>("TaskDodeviceStatus")
+                        .HasColumnType("int")
+                        .HasComment("璁惧浠诲姟鐘舵��");
+
+                    b.Property<int>("TaskLevel")
+                        .HasColumnType("int")
+                        .HasComment("浠诲姟绛夌骇");
+
+                    b.Property<string>("TaskNo")
+                        .IsRequired()
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("浠诲姟鍙�");
+
+                    b.Property<int>("TaskStatus")
+                        .HasColumnType("int")
+                        .HasComment("浠诲姟鐘舵��");
+
+                    b.Property<int>("TaskType")
+                        .HasColumnType("int")
+                        .HasComment("浠诲姟绫诲瀷");
+
+                    b.Property<string>("ToPlace")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
+                        .HasComment("鐩爣搴撲綅");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ContainerNo");
+
+                    b.HasIndex("DodeviceId");
+
+                    b.HasIndex("IsRead");
+
+                    b.HasIndex("Sort");
+
+                    b.HasIndex("SourceOrderNo");
+
+                    b.HasIndex("SourcePlace");
+
+                    b.HasIndex("TaskNo")
+                        .IsUnique();
+
+                    b.HasIndex("TaskStatus");
+
+                    b.HasIndex("TaskType");
+
+                    b.HasIndex("ToPlace");
+
+                    b.ToTable("scms_wmstasks", (string)null);
+
+                    b.HasComment("浠诲姟琛�");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.cs
new file mode 100644
index 0000000..9314c1b
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250512042203_InitialCreate15.cs
@@ -0,0 +1,27 @@
+锘縰sing Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace CMS.Plugin.HIAWms.MySQL.Migrations
+{
+    public partial class InitialCreate15 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<int>(
+                name: "PlcTaskId",
+                table: "scms_wmstasks",
+                type: "int",
+                nullable: false,
+                defaultValue: 0,
+                comment: "浠诲姟鐘舵��");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "PlcTaskId",
+                table: "scms_wmstasks");
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
index e0122d6..14a2a3f 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -1706,6 +1706,12 @@
                         .HasColumnType("varchar(200)")
                         .HasComment("鍙彉鍙橀噺3");
 
+                    b.Property<int>("PlcTaskId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int")
+                        .HasDefaultValue(0)
+                        .HasComment("浠诲姟鐘舵��");
+
                     b.Property<int?>("SonTaskType")
                         .HasColumnType("int")
                         .HasComment("瀛愪换鍔$被鍨�");
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
index ec382d1..48f4f7d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
@@ -1,5 +1,5 @@
 cd ../
-dotnet ef migrations add InitialCreate14 -c CMSPluginDbContext -o Migrations
+dotnet ef migrations add InitialCreate15 -c CMSPluginDbContext -o Migrations
 ::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations
 ::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations
 ::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/LMesOperateController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/LMesOperateController.cs
new file mode 100644
index 0000000..ad56343
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/LMesOperateController.cs
@@ -0,0 +1,40 @@
+锘縰sing CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Controller
+{
+    [ApiController]
+    [TypeFilter(typeof(CMSLanguageFilter))]
+    [TypeFilter(typeof(CMSUowActionFilter))]
+    [TypeFilter(typeof(CMSAuditActionFilter))]
+    [TypeFilter(typeof(CMSExceptionFilter))]
+    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
+    public class LMesOperateController : ControllerBase
+    {
+        private readonly ILMesOperateAppService _mesOperateAppService;
+
+        public LMesOperateController(ILMesOperateAppService mesOperateAppService)
+        {
+            _mesOperateAppService = mesOperateAppService;
+        }
+
+        /// <summary>
+        /// LMes鍙枡
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("LMesCallMaterial")]
+        public async Task<List<CallMaterialOutput>> LMesCallMaterialAsync(List<LMesCallMaterialInput> input)
+        {
+            return await _mesOperateAppService.LMesCallMaterialAsync(input);
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs
index 1622011..0be5e48 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs
@@ -1,6 +1,8 @@
 锘縰sing CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.MaterialManagement.Abstractions.Models;
 using Microsoft.AspNetCore.Mvc;
 using System;
 using System.Collections.Generic;
@@ -22,10 +24,12 @@
     public class WmsInsStockController
     {
         private readonly IWmsBindInStockAppService _wmsBindInStockAppService;
+        private readonly IWmsCommonAppService _wmsCommonAppService;
 
-        public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService)
+        public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService, IWmsCommonAppService wmsCommonAppService)
         {
             _wmsBindInStockAppService = wmsBindInStockAppService;
+            _wmsCommonAppService = wmsCommonAppService;
         }
 
         /// <summary>
@@ -51,5 +55,27 @@
         {
             await _wmsBindInStockAppService.BindInStockAsync(input);
         }
+
+        /// <summary>
+        /// 鏌ユ壘绌哄簱浣�
+        /// </summary>
+        /// <param name="materialModel"></param>
+        /// <param name="requiredNum"></param>
+        /// <param name="materialNo"></param>
+        /// <returns></returns>
+        [HttpGet]
+        [Route("FindEmptyPlace")]
+        public async Task<List<string>> FindEmptyPlaceAsync(string materialModel, int requiredNum, string materialNo = "")
+        {
+            var result = await _wmsCommonAppService.FindAvailablePlacesAsync(materialModel, requiredNum, materialNo = "");
+            List<string> placeList = new List<string>();
+            foreach (var place in result)
+            {
+                string v = $"Key={place.Key},Value={place.Value}";
+                var str = v;
+                placeList.Add(str);
+            }
+            return placeList;
+        }
     }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs
index cf1ed60..f2ae2ff 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs
@@ -1,4 +1,5 @@
 锘縰sing CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
 using Microsoft.AspNetCore.Mvc;
@@ -35,9 +36,9 @@
         /// <returns></returns>
         [HttpPost]
         [Route("CallMaterial")]
-        public async Task CallMaterialAsync(List<CallMaterialInput> input)
+        public async Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input)
         {
-            await _wmsOutStockAppService.CallMaterialAsync(input);
+            return await _wmsOutStockAppService.CallMaterialAsync(input);
         }
     }
 }

--
Gitblit v1.9.3