From 17c0c88cb5419351e4f0bf498e4b9535c5b39197 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 11 5月 2025 21:55:40 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo

---
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs                                          |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs                 |    1 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs                                                  |   28 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs                                          | 1787 +++++++++++++++++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs                                      |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs                                                          |  191 ++
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs                                                      |  104 +
 HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/Config.ts                                                                      |    8 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs                                               |   12 
 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx                             |   88 
 HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx                                                                    |   13 
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs                                                                      |   26 
 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx                               |   10 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs                                          | 1781 +++++++++++++++++++++++
 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs                                                                  |   55 
 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts                                                |   84 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs           |    2 
 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss                     |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat                                                                   |    2 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs                                          |   29 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs                                 |   15 
 HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts                                                    |    5 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs                                                 |   28 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs                                          |   50 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs                                                   |   39 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs                                                    |    5 
 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs                      |    4 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs                                                 |   16 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs                                                   |   54 
 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs                                                   |   19 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs           |   13 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs                                                        |   11 
 HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs                                              |    8 
 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx                                    |   10 
 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs                                             |   12 
 36 files changed, 4,400 insertions(+), 118 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx
index e92cb95..93719a6 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailDrawer.tsx
@@ -142,16 +142,8 @@
     {
       label: '鐗╂枡鎵规',
       prop: 'materialBatch',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
+      el: 'input',
       width: '100%',
-      step: 1,
-      precision: 0,
       //disabled: disabled,
       placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�',
     },
diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx
index 5031cdd..2c514b4 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Controllers/WmsInOutStockOrderDetailQueryDrawer.tsx
@@ -136,16 +136,8 @@
     {
       label: '鐗╂枡鎵规',
       prop: 'materialBatch',
-      el: (props: any, { attrs }: SetupContext) => {
-        return h(inputNumber, {
-          ...props,
-          clearable: true,
-          ...attrs,
-        })
-      },
+      el: 'input',
       width: '100%',
-      step: 1,
-      precision: 0,
       //disabled: disabled,
       placeholder: '璇疯緭鍏ョ墿鏂欐壒娆�',
     },
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts
index a8d8c4a..c717bf9 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts
@@ -1,30 +1,54 @@
-import { Base } from '@/libs/Base/Base' 
-const request = Base.request 
- 
-/** 
- * 娣诲姞 
- * @returns 
- */ 
-export const addWmsMaterialContainer = (data: any) => { 
-  return request.post('/api/v1/HIAWms/wmsMaterialContainer', data) 
-} 
- 
-/** 
- * 鎵归噺鍒犻櫎 
- * @returns 
- */ 
-export const deleteWmsMaterialContainers = (ids: string[]) => { 
-  return request({ 
-    data: ids, 
-    url: '/api/v1/HIAWms/wmsMaterialContainer', 
-    method: 'delete', 
-  }) 
-} 
- 
-/** 
- * 鍏嬮殕 
- * @returns 
- */ 
-export const cloneData = (data: any) => { 
-  return request.post('/api/v1/HIAWms/wmsMaterialContainer/clone', data) 
-} 
+import { Base } from '@/libs/Base/Base'
+const request = Base.request
+
+/**
+ * 娣诲姞
+ * @returns
+ */
+export const addWmsMaterialContainer = (data: any) => {
+  return request.post('/api/v1/HIAWms/wmsMaterialContainer', data)
+}
+
+/**
+ * 鎵归噺鍒犻櫎
+ * @returns
+ */
+export const deleteWmsMaterialContainers = (ids: string[]) => {
+  return request({
+    data: ids,
+    url: '/api/v1/HIAWms/wmsMaterialContainer',
+    method: 'delete',
+  })
+}
+
+/**
+ * 鍏嬮殕
+ * @returns
+ */
+export const cloneData = (data: any) => {
+  return request.post('/api/v1/HIAWms/wmsMaterialContainer/clone', data)
+}
+
+/**
+ * 鐗╂枡鍨嬪彿鍒楄〃
+ * @returns
+ */
+export const getMaterialModelList = (data: any) => {
+  return request.get(`/api/v1/hiawms/wmsenum/ModelList`)
+}
+
+/**
+ * 搴撲綅鍙峰垪琛�
+ * @returns
+ */
+export const getPlaceNoForStockList = (data: any) => {
+  return request.get(`/api/v1/hiawms/wmsenum/placelist?placeType=${data}`)
+}
+
+/**
+ * 鍏ュ簱
+ * @returns
+ */
+export const instock = (data: any) => {
+  return request.post('/api/v1/HIAWms/wmsinsstock/bindinstock', data)
+}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss
index 88fc51b..a777a42 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.module.scss
@@ -151,7 +151,7 @@
 
     .actionButton {
       flex: 1; // 鎸夐挳骞冲潎鍒嗛厤绌洪棿
-      max-width: 150px; // 闄愬埗鎸夐挳鏈�澶у搴�
+      max-width: 200px; // 闄愬埗鎸夐挳鏈�澶у搴�
     }
   }
 }
\ No newline at end of file
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
index 196ace4..1f7ca80 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
@@ -1,17 +1,39 @@
-import { defineComponent, ref } from 'vue'
+import { defineComponent, onMounted, ref } from 'vue'
 import type { Ref } from 'vue'
 import styles from './WmsMaterialContainer.module.scss'
-import { ElInput, ElForm, ElFormItem, ElButton } from 'element-plus'
+import {
+  ElInput,
+  ElForm,
+  ElFormItem,
+  ElButton,
+  ElSelect,
+  ElOption,
+} from 'element-plus'
+import {
+  getPlaceNoForStockList,
+  getMaterialModelList,
+  instock,
+} from '@/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer'
 
 export default defineComponent({
   name: 'WmsMaterialContainer',
   setup() {
     // 鏌ヨ琛ㄥ崟鏁版嵁
     const queryForm = ref({
-      materialNo: '',
+      materialModel: '',
       placeNo: '',
       materialBatch: '',
-      quantity: '',
+      stockNumber: '',
+    })
+
+    // 鏁版嵁婧�
+    const modelOptions = ref<Array<{ value: string; label: string }>>([])
+    const placeNoOptions = ref<Array<{ value: string; label: string }>>([])
+
+    onMounted(() => {
+      // 缁勪欢鎸傝浇鍚庤幏鍙栧瀷鍙峰垪琛ㄥ拰搴撲綅鍙峰垪琛�
+      getModelList()
+      getPlaceNoList()
     })
 
     // 缁勭洏鎿嶄綔
@@ -23,53 +45,87 @@
     // 缁勭洏鍏ュ簱鎿嶄綔
     const handlePalletizeStorage = () => {
       console.log('缁勭洏鍏ュ簱鎿嶄綔', queryForm.value)
+      instock(queryForm.value)
       // 杩欓噷娣诲姞缁勭洏鍏ュ簱閫昏緫
+    }
+
+    const getModelList = async () => {
+      const models = await getMaterialModelList()
+      modelOptions.value = models.map((item: string) => ({
+        value: item.materialModel,
+        label: item.materialModelDesc,
+      }))
+    }
+
+    const getPlaceNoList = async () => {
+      const placeNos = await getPlaceNoForStockList(2)
+      console.log('搴撲綅鍙峰垪琛�:', placeNos)
+      placeNoOptions.value = placeNos.map((item: string) => ({
+        value: item.placeNo,
+        label: item.placeNoDesc,
+      }))
     }
 
     return () => {
       return (
         <div class={styles.wmsMaterialContainerContent}>
           <ElForm label-position="top" class={styles.h5Form}>
-            <ElFormItem label="鐗╂枡鐮�">
-              <ElInput
-                v-model={queryForm.value.materialNo}
-                placeholder="璇疯緭鍏ョ墿鏂欑爜"
+            <ElFormItem label="鍨嬪彿">
+              <ElSelect
+                v-model={queryForm.value.materialModel}
+                placeholder="璇烽�夋嫨鍨嬪彿"
                 clearable
                 class={styles.formInput}
-              />
+              >
+                {modelOptions.value.map((item) => (
+                  <ElOption
+                    key={item.value}
+                    label={item.label}
+                    value={item.value}
+                  />
+                ))}
+              </ElSelect>
             </ElFormItem>
             <ElFormItem label="搴撲綅鍙�">
-              <ElInput
+              <ElSelect
                 v-model={queryForm.value.placeNo}
-                placeholder="璇疯緭鍏ュ簱浣嶅彿"
+                placeholder="璇烽�夋嫨搴撲綅鍙�"
                 clearable
                 class={styles.formInput}
-              />
+              >
+                {placeNoOptions.value.map((item) => (
+                  <ElOption
+                    key={item.value}
+                    label={item.label}
+                    value={item.value}
+                  />
+                ))}
+              </ElSelect>
             </ElFormItem>
             <ElFormItem label="鎵规鍙�">
               <ElInput
                 v-model={queryForm.value.materialBatch}
-                placeholder="璇疯緭鍏ユ暟閲�"
+                placeholder="璇疯緭鍏ユ壒娆″彿"
                 clearable
                 class={styles.formInput}
               />
             </ElFormItem>
             <ElFormItem label="鏁伴噺">
               <ElInput
-                v-model={queryForm.value.quantity}
+                v-model={queryForm.value.stockNumber}
                 placeholder="璇疯緭鍏ユ暟閲�"
                 clearable
                 class={styles.formInput}
               />
             </ElFormItem>
             <div class={styles.buttonGroup}>
-              <ElButton
+              {/* <ElButton
                 type="primary"
                 onClick={handlePalletize}
                 class={styles.actionButton}
               >
                 缁勭洏
-              </ElButton>
+              </ElButton> */}
               <ElButton
                 type="success"
                 onClick={handlePalletizeStorage}
diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts
index 03b2ab3..035b581 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialStock/Views/Pages/WmsMaterialStock/Config.ts
@@ -33,6 +33,10 @@
     title: '鐗╂枡鎵规',
   },
   {
+    field: 'materialModel',
+    title: '鍨嬪彿',
+  },
+  {
     field: 'areaName',
     title: '鎵�灞炲簱鍖�',
   },
@@ -43,6 +47,7 @@
   {
     field: 'inStockTime',
     title: '鍏ュ簱鏃堕棿',
+    width: 180,
   },
   {
     field: 'isLockDesc',
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 1022664..68da84f 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
@@ -64,10 +64,10 @@
     field: 'taskLevel',
     title: '浠诲姟绛夌骇',
   },
-  // {
-  //   field: 'mutableParam1',
-  //   title: '鍙彉鍙橀噺1',
-  // },
+  {
+    field: 'mutableParam1',
+    title: '鍨嬪彿',
+  },
   // {
   //   field: 'mutableParam2',
   //   title: '鍙彉鍙橀噺2',
diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
index 9dab1a4..f4cf6aa 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -292,13 +292,20 @@
                 <IconButton icon="in">瀵煎叆</IconButton>
               </el-upload> */}
 
-              {/* <IconButton
+              <IconButton
                 v-permission="wmsTask-output"
                 icon="out"
                 onClick={handleExport}
               >
-                瀵煎嚭
-              </IconButton> */}
+                寮哄埗瀹屾垚
+              </IconButton>
+              <IconButton
+                v-permission="wmsTask-output"
+                icon="out"
+                onClick={handleExport}
+              >
+                鍙栨秷
+              </IconButton>
             </div>
             <ElFormItem style={{ marginTop: '15px' }}>
               <ElFormItem label="鍏抽敭瀛�">
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
new file mode 100644
index 0000000..9d51416
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
@@ -0,0 +1,50 @@
+锘縰sing CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto
+{
+    /// <summary>
+    /// 鍙枡鍙傛暟
+    /// </summary>
+    public class CallMaterialInput
+    {
+        /// <summary>
+        /// 鍗曟嵁绫诲瀷
+        /// </summary>
+        public OrderTypeEnum OrderType { get; set; }
+
+        /// <summary>
+        /// 鍗曟嵁鍙�
+        /// </summary>
+        public string OrderNo { get;set; }
+
+        /// <summary>
+        /// 鍨嬪彿
+        /// </summary>
+        public string MaterialModel { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡鍚嶇О
+        /// </summary>
+        public string MaterialName { get; set; }
+
+        /// <summary>
+        /// 鐗╂枡缂栧彿
+        /// </summary>
+        public string MaterialNo { get; set; }
+
+        /// <summary>
+        /// 搴撲綅缂栧彿
+        /// </summary>
+        public string PlaceNo { get; set; }
+
+        /// <summary>
+        /// 鍙枡鏁伴噺
+        /// </summary>
+        public int MaterialNumber { get; set; }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs
index fe136c9..fdec869 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailCreateOrUpdateDtoBase.cs
@@ -47,7 +47,7 @@
         /// <summary>
         /// 鐗╂枡鎵规
         /// </summary>
-        public int? MaterialBatch { get; set; }
+        public string? MaterialBatch { get; set; }
 
         /// <summary>
         /// 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs
index 9f5fc91..55378ec 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockOrderDetail/WmsInOutStockOrderDetailExportModel.cs
@@ -56,7 +56,7 @@
         /// 鐗╂枡鎵规
         /// </summary>
         [ExcelColumn(Name = "鐗╂枡鎵规", Width = 25)]
-        public int? MaterialBatch { get; set; }
+        public string? MaterialBatch { get; set; }
 
         /// <summary>
         /// 鏄惁绂佺敤
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs
index 2f89948..48a476d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/WmsInOutStockRecordCreateOrUpdateDtoBase.cs
@@ -39,10 +39,15 @@
         /// </summary>
         public string? MaterialModel { get; set; }
 
-        /// <summary>
-        /// 鎿嶄綔鏃堕棿
-        /// </summary>
-        public DateTime? OperateTime { get; set; }
+    /// <summary>
+    /// 鐗╂枡鎵规
+    /// </summary>
+    public string? MaterialBatch { get; set; }
+
+    /// <summary>
+    /// 鎿嶄綔鏃堕棿
+    /// </summary>
+    public DateTime? OperateTime { get; set; }
 
         /// <summary>
         /// 澶囨敞
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs
new file mode 100644
index 0000000..795a8fc
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsBindInStockAppService.cs
@@ -0,0 +1,29 @@
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Services
+{
+    /// <summary>
+    /// 缁勭洏鍏ュ簱鎺ュ彛
+    /// </summary>
+    public interface IWmsBindInStockAppService
+    {
+        /// <summary>
+        /// 缁勭洏
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        Task BindMaterialContaienrAsync(BindInstockInput input);
+
+        /// <summary>
+        /// 缁勭洏鍏ュ簱
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        Task BindInStockAsync(BindInstockInput input);
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs
index 83eba00..23708ad 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsCommonAppService.cs
@@ -1,4 +1,5 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -17,5 +18,14 @@
         /// <param name="materialNo"></param>
         /// <returns></returns>
         Task<Dictionary<WmsPlaceDto, int>> FindAvailablePlacesAsync(string materialModel, int requiredNum, string materialNo = "");
+
+        /// <summary>
+        /// 鏌ユ壘搴撳瓨
+        /// </summary>
+        /// <param name="materialModel"></param>
+        /// <param name="requiredNum"></param>
+        /// <param name="materialNo"></param>
+        /// <returns></returns>
+        Task<Dictionary<WmsMaterialStockDto, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = "");
     }
 }
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
new file mode 100644
index 0000000..9e57659
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CMS.Plugin.HIAWms.Application.Contracts.Services
+{
+    public interface IWmsOutStockAppService
+    {
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
index 4195101..fd15a11 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
@@ -42,5 +42,19 @@
     /// </summary> 
     /// <param name="input"></param> 
     /// <returns></returns> 
-    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input); 
+    Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input);
+
+    /// <summary>
+    /// 寮哄埗瀹屾垚浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task FinishTaskAsync(WmsTaskUpdateDto input);
+
+    /// <summary>
+    /// 鍙栨秷浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    Task CancelTaskAysnc(WmsTaskUpdateDto input);
 } 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAssService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
similarity index 84%
rename from HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAssService.cs
rename to HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
index 097119d..7389cab 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAssService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsBindInStockAppService.cs
@@ -10,19 +10,21 @@
 using CMS.Plugin.HIAWms.Domain.WmsMaterials;
 using CMS.Plugin.HIAWms.Domain.WmsPlaces;
 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>
     /// 缁勭洏鍏ュ簱
     /// </summary>
-    public class WmsBindInStockAssService : CMSPluginAppService
+    public class WmsBindInStockAppService : CMSPluginAppService, IWmsBindInStockAppService
     {
         private readonly IWmsMaterialRepository _wmsMaterialRepository;
         private readonly IWmsContainerRepository _wmsContainerRepository;
@@ -34,8 +36,9 @@
         private readonly IWmsCommonAppService _wmsCommonAppService;
         private readonly IWmsTaskRepository _wmsTaskRepository;
         private readonly IWmsTaskAppService _wmsTaskAppService;
+        private readonly IServiceProvider _serviceProvider;
 
-        public WmsBindInStockAssService(IWmsMaterialRepository wmsMaterialRepository,
+        public WmsBindInStockAppService(IWmsMaterialRepository wmsMaterialRepository,
             IWmsContainerRepository wmsContainerRepository,
             IWmsPlaceRepository wmsPlaceRepository
 ,
@@ -45,7 +48,8 @@
             IWmsMaterialStockAppService wmsMaterialStockAppService,
             IWmsCommonAppService wmsCommonAppService,
             IWmsTaskRepository wmsTaskRepository,
-            IWmsTaskAppService wmsTaskAppService)
+            IWmsTaskAppService wmsTaskAppService,
+            IServiceProvider serviceProvider)
         {
             _wmsMaterialRepository = wmsMaterialRepository;
             _wmsContainerRepository = wmsContainerRepository;
@@ -57,10 +61,15 @@
             _wmsCommonAppService = wmsCommonAppService;
             _wmsTaskRepository = wmsTaskRepository;
             _wmsTaskAppService = wmsTaskAppService;
+            _serviceProvider = serviceProvider;
         }
 
         public async Task BindMaterialContaienrAsync(BindInstockInput input)
         {
+            using var scope = _serviceProvider.CreateScope();
+            var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+            using var uow = unitOfWorkManager.Begin(requiresNew: true);
+
             if (string.IsNullOrEmpty(input.MaterialModel)) { throw new UserFriendlyException("璇烽�夋嫨搴撲綅缂栧彿"); }
             if (string.IsNullOrEmpty(input.MaterialBatch)) { throw new UserFriendlyException("璇疯緭鍏ユ壒娆″彿"); }
             if (input.StockNumber <= 0) { throw new UserFriendlyException("鍏ュ簱鏁伴噺蹇呴』澶т簬0"); }
@@ -111,13 +120,13 @@
             {
                 containerNo = DateTime.Now.ToString("yyMMddHHmmss") + new Random(Guid.NewGuid().GetHashCode()).Next(100, 9999).ToString();
             }
-            var container = new WmsContainer
-            {
-                ContainerNo = containerNo,
-                ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI,
-                ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.ZUPANG,
-            };
-            await _wmsContainerRepository.InsertAsync(container);
+            //var container = new WmsContainer
+            //{
+            //    ContainerNo = containerNo,
+            //    ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI,
+            //    ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.ZUPANG,
+            //};
+            //var result =  await _wmsContainerRepository.InsertAsync(container);
 
             var materialStock = new WmsMaterialStockCreateDto
             {
@@ -132,6 +141,9 @@
                 EmptyContainer = Domain.Shared.Enums.YesNoEnum.N,
             };
             await _wmsMaterialStockAppService.CreateAsync(materialStock);
+
+            await uow.SaveChangesAsync();
+            await uow.CompleteAsync();
         }
 
 
@@ -144,6 +156,10 @@
         public async Task BindInStockAsync(BindInstockInput input)
         {
             if (string.IsNullOrEmpty(input.PlaceNo)) { throw new UserFriendlyException("璇烽�夋嫨搴撲綅缂栧彿"); }
+
+            using var scope = _serviceProvider.CreateScope();
+            var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+            using var uow = unitOfWorkManager.Begin(requiresNew: true);
 
             input.ContainerNo = DateTime.Now.ToString("yyMMddHHmmss") + new Random(Guid.NewGuid().GetHashCode()).Next(100, 9999).ToString();
             await BindMaterialContaienrAsync(input);
@@ -179,6 +195,9 @@
                 }
             }
             await _wmsTaskRepository.InsertManyAsync(taskList);
+
+            await uow.SaveChangesAsync();
+            await uow.CompleteAsync();
         }
     }
 }
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 63d57b9..5c8a5e6 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsCommonAppService.cs
@@ -1,4 +1,5 @@
 锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
 using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
 using CMS.Plugin.HIAWms.Application.Contracts.Services;
 using CMS.Plugin.HIAWms.Domain.WmsMaterials;
@@ -108,7 +109,7 @@
         /// <param name="requiredNum"></param>
         /// <param name="materialNo"></param>
         /// <returns></returns>
-        public async Task<Dictionary<string, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = "")
+        public async Task<Dictionary<WmsMaterialStockDto, int>> FindStockAsync(string materialModel, int requiredNum, string materialNo = "")
         {
             // 1. 鑾峰彇鎵�鏈夊簱瀛橈紙鎺掗櫎閿佸畾搴撳瓨锛�
             var stockList = (await _wmsMaterialStockRepository.GetListAsync(new WmsMaterialStock()))
@@ -116,11 +117,13 @@
                 .ToList();
 
             // 2. 绛涢�夊尮閰嶇墿鏂�
-            var availableStocks = stockList
+            var availableStocklist = stockList
                 .Where(x => x.MaterialModel == materialModel)
                 .WhereIf(!string.IsNullOrEmpty(materialNo), x => x.MaterialNo == materialNo)
                 .OrderBy(x => x.StockNumber) // 浼樺厛浠庡簱瀛樺皯鐨勫簱浣嶅嚭
                 .ToList();
+
+            var availableStocks = ObjectMapper.Map<List<WmsMaterialStock>, List<WmsMaterialStockDto>>(availableStocklist);
 
             // 3. 妫�鏌ユ�诲簱瀛樻槸鍚﹁冻澶�
             int totalAvailable = availableStocks.Sum(x => x.StockNumber);
@@ -131,7 +134,7 @@
             }
 
             // 4. 璁$畻鍚勫簱浣嶅嚭搴撴暟閲�
-            var allocation = new Dictionary<string, int>(); // <搴撲綅鍙�, 鍑哄簱鏁�>
+            var allocation = new Dictionary<WmsMaterialStockDto, int>(); // <搴撲綅鍙�, 鍑哄簱鏁�>
             int remaining = requiredNum;
 
             foreach (var stock in availableStocks)
@@ -139,7 +142,7 @@
                 if (remaining <= 0) break;
 
                 int deductAmount = Math.Min(stock.StockNumber, remaining);
-                allocation.Add(stock.PlaceNo, deductAmount);
+                allocation.Add(stock, deductAmount);
                 remaining -= deductAmount;
             }
 
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
index 87b4765..491abba 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -90,10 +90,10 @@
             throw new UserFriendlyException("鐗╂枡淇℃伅涓嶅瓨鍦�");
         }
         var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo);
-        if (container == null)
-        {
-            throw new UserFriendlyException("鎵樼洏淇℃伅涓嶅瓨鍦�");
-        }
+        //if (container == null)
+        //{
+        //    throw new UserFriendlyException("鎵樼洏淇℃伅涓嶅瓨鍦�");
+        //}
 
         var wmsmaterialstock = ObjectMapper.Map<WmsMaterialStockCreateDto, WmsMaterialStock>(input);
         input.MapExtraPropertiesTo(wmsmaterialstock, MappingPropertyDefinitionChecks.None);
@@ -101,7 +101,7 @@
         wmsmaterialstock.MaterialName = material.MaterialName;
 
         wmsmaterialstock.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI;
-        wmsmaterialstock.ContainerType = container.ContainerType;
+        wmsmaterialstock.ContainerType = container == null ? Domain.Shared.Enums.ContainerTypeEnum.XUNI : container.ContainerType;
         wmsmaterialstock.StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.XUNIKUWEI;
         wmsmaterialstock.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.DAIRU;
         if (!string.IsNullOrEmpty(input.PlaceNo))
@@ -158,10 +158,22 @@
 
         await _wmsmaterialstockRepository.InsertManyAsync(stockList);
 
+        if (container == null)
+        {
+            container = new WmsContainer
+            {
+                ContainerNo = input.ContainerNo,
+                ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI,
+                ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI,
+            };
+            var result = await _wmscontainerRepository.InsertAsync(container);
+        }
+        else
+        {
+            container.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI;
 
-        container.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI;
-
-        await _wmscontainerRepository.UpdateAsync(container);
+            await _wmscontainerRepository.UpdateAsync(container);
+        }
 
         //if (input.Sort.HasValue && wmsmaterialstock.Sort != maxSort)
         //{
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
new file mode 100644
index 0000000..1c95d67
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -0,0 +1,104 @@
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder;
+using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
+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>
+    /// 鍑哄簱鏈嶅姟
+    /// </summary>
+    public class WmsOutStockAppService : CMSPluginAppService, IWmsOutStockAppService
+    {
+        private readonly IWmsMaterialStockRepository _wmsMaterialStockRepository;
+        private readonly IWmsCommonAppService _wmsCommonAppService;
+        private readonly IWmsTaskRepository _wmsTaskRepository;
+        private readonly IWmsInOutStockOrderRepository _wmsInOutStockOrderRepository;
+        private readonly IServiceProvider _serviceProvider;
+        public WmsOutStockAppService(IWmsMaterialStockRepository wmsMaterialStockRepository, 
+            IWmsCommonAppService wmsCommonAppService, IWmsTaskRepository wmsTaskRepository, 
+            IWmsInOutStockOrderRepository wmsInOutStockOrderRepository, IServiceProvider serviceProvider
+            )
+        {
+            _wmsMaterialStockRepository = wmsMaterialStockRepository;
+            _wmsCommonAppService = wmsCommonAppService;
+            _wmsTaskRepository = wmsTaskRepository;
+            _wmsInOutStockOrderRepository = wmsInOutStockOrderRepository;
+            _serviceProvider = serviceProvider;
+        }
+
+        public async Task CallMaterial(CallMaterialInput input)
+        {
+            using var scope = _serviceProvider.CreateScope();
+            var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+            using var uow = unitOfWorkManager.Begin(requiresNew: true);
+
+            var order = await _wmsInOutStockOrderRepository.FindByNameAsync(input.OrderNo);
+            if(order == null)
+            {
+                throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�");
+            }
+            if(input.MaterialNumber <=0)
+            {
+                throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0");
+            }
+            if(order.MaterialNumber< input.MaterialNumber)
+            {
+                throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺");
+            }
+            order.OrderStatus = OrderStatusEnum.Executing;
+            order.DistributeNumber = input.MaterialNumber;
+
+            await _wmsInOutStockOrderRepository.UpdateAsync(order);
+
+            var stockresult = await _wmsCommonAppService.FindStockAsync(input.MaterialModel, input.MaterialNumber);
+            if(stockresult == null)
+            {
+                throw new UserFriendlyException("褰撳墠鏃犲簱瀛�");
+            }
+            var taskList = new List<WmsTask>();
+            foreach (var kvp in stockresult)
+            {
+                var stock = kvp.Key;    // WmsPlace瀵硅薄
+                var quantity = kvp.Value; // 鍒嗛厤鏁伴噺
+
+                for (int i = 0; i < quantity; i++)
+                {
+                    var task = new WmsTask
+                    {
+                        TaskNo = $"CK_{DateTime.Now:yyyyMMddHHmmss}_{Guid.NewGuid().ToString("N").Substring(0, 6)}",
+                        ContainerNo = stock.ContainerNo,
+                        SourcePlace = stock.PlaceNo,
+                        ToPlace = "201",// place.PlaceNo,
+                        TaskType = TaskTypeEnum.CHUKU,
+                        SonTaskType = input.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU,
+                        TaskStatus = WmsTaskStatus.WEIZHIXING,
+                        TaskLevel = 999,
+                        Aisle = 1,
+                        DodeviceId = 0,
+                        TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
+                        IsNextTask = (int)YesNoEnum.Y,
+                        IsRead = true,
+                        SourceOrderNo = input.OrderNo,
+                        MutableParam1 = input.MaterialModel,
+                    };
+                    taskList.Add(task);
+                }
+            }
+            await _wmsTaskRepository.InsertManyAsync(taskList);
+
+            await uow.SaveChangesAsync();
+            await uow.CompleteAsync();
+        }
+    }
+}
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 2366783..245278e 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -12,6 +12,14 @@
 using Volo.Abp.ObjectMapping;
 using CMS.Plugin.HIAWms.Domain.WmsContainers;
 using CMS.Plugin.HIAWms.Domain.WmsPlaces;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+using CMS.Plugin.HIAWms.Domain.WmsMaterialStocks;
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder;
+using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockOrderDetail;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
+using Volo.Abp.Uow;
+using Microsoft.Extensions.DependencyInjection;
 
 namespace CMS.Plugin.HIAWms.Application.Implements;
 
@@ -23,16 +31,40 @@
     private readonly IWmsTaskRepository wmsTaskRepository;
     private readonly IWmsContainerRepository _wmsContainerRepository;
     private readonly IWmsPlaceRepository _wmsPlaceRepository;
+    private readonly IWmsMaterialStockRepository _wmsMaterialStockRepository;
+    private readonly IWmsInOutStockOrderRepository _wmsInOutStockOrderRepository;
+    private readonly IWmsInOutStockOrderDetailRepository _wmsInOutStockOrderDetailRepository;
+    private readonly IWmsContainerRepository _wmsContainerRepository1;
+    private readonly IWmsInOutStockOrderDetailAppService _wmsInOutStockOrderDetailAppService;
+    private readonly IWmsInOutStockRecordAppService _wmsInOutStockRecordAppService;
+    private readonly IServiceProvider _serviceProvider;
 
     /// <summary> 
     /// Initializes a new instance of the <see cref="WmsTaskAppService"/> class. 
     /// </summary> 
     /// <param name="WmsTaskRepository">The task job repository.</param> 
-    public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository, IWmsContainerRepository wmsContainerRepository, IWmsPlaceRepository wmsPlaceRepository)
+    public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository,
+        IWmsContainerRepository wmsContainerRepository,
+        IWmsPlaceRepository wmsPlaceRepository,
+        IWmsMaterialStockRepository wmsMaterialStockRepository,
+        IWmsInOutStockOrderRepository wmsInOutStockOrderRepository,
+        IWmsInOutStockOrderDetailRepository wmsInOutStockOrderDetailRepository
+,
+        IWmsContainerRepository wmsContainerRepository1,
+        IWmsInOutStockOrderDetailAppService wmsInOutStockOrderDetailAppService,
+        IWmsInOutStockRecordAppService wmsInOutStockRecordAppService,
+        IServiceProvider serviceProvider = null)
     {
         wmsTaskRepository = _WmsTaskRepository;
         _wmsContainerRepository = wmsContainerRepository;
         _wmsPlaceRepository = wmsPlaceRepository;
+        _wmsMaterialStockRepository = wmsMaterialStockRepository;
+        _wmsInOutStockOrderRepository = wmsInOutStockOrderRepository;
+        _wmsInOutStockOrderDetailRepository = wmsInOutStockOrderDetailRepository;
+        _wmsContainerRepository1 = wmsContainerRepository1;
+        _wmsInOutStockOrderDetailAppService = wmsInOutStockOrderDetailAppService;
+        _wmsInOutStockRecordAppService = wmsInOutStockRecordAppService;
+        _serviceProvider = serviceProvider;
     }
 
     /// <summary> 
@@ -484,4 +516,161 @@
 
         return Task.CompletedTask;
     }
+
+    /// <summary>
+    /// 浠诲姟寮哄埗瀹屾垚
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    /// <exception cref="UserFriendlyException"></exception>
+    public async Task FinishTaskAsync(WmsTaskUpdateDto input)
+    {
+
+        using var scope = _serviceProvider.CreateScope();
+        var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+        using var uow = unitOfWorkManager.Begin(requiresNew: true);
+
+        var task = await wmsTaskRepository.FindByNameAsync(input.TaskNo);
+        if (task == null)
+        {
+            throw new UserFriendlyException("浠诲姟涓嶅瓨鍦�");
+        }
+        if (task.TaskStatus == WmsTaskStatus.WANCHENG || task.TaskStatus == WmsTaskStatus.QUXIAO)
+        {
+            throw new UserFriendlyException("鍙栨秷鎴栬�呭畬鎴愮殑浠诲姟涓嶅厑璁告搷浣�");
+        }
+        task.TaskStatus = WmsTaskStatus.WANCHENG;
+
+        // 鏇存柊搴撳瓨
+        var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1,PlaceNo = task.SourcePlace});
+        if(stockList == null || stockList.Count<=0)
+        {
+            throw new UserFriendlyException("鍘熷簱浣嶄俊鎭笉瀛樺湪");
+        }
+        var stock = stockList.FirstOrDefault();
+        stock.PlaceNo = task.ToPlace;
+        stock.ContainerNo = "TP" + task.ToPlace;
+
+        var container = await _wmsContainerRepository.FindByNameAsync(stock.ContainerNo);
+        if(container == null)
+        {
+            await _wmsContainerRepository.InsertAsync(new WmsContainer
+            {
+                ContainerNo = stock.ContainerNo,
+                ContainerStatus = ContainerStatusEnum.KUWEI,
+                ContainerType = ContainerTypeEnum.XUNI,
+            });
+        }
+
+        var oldContainer = await _wmsContainerRepository.FindByNameAsync(task.ContainerNo);
+        if(oldContainer != null)
+        {
+            await _wmsContainerRepository.DeleteAsync(oldContainer);
+        }
+
+        if (!string.IsNullOrEmpty(task.SourceOrderNo))
+        {
+            // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺
+            var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo);
+            if(orderNo != null)
+            {
+                orderNo.CompleteNumber += 1;
+                orderNo.OrderStatus = OrderStatusEnum.Executing;
+            }
+            if (orderNo.MaterialNumber <= orderNo.CompleteNumber)
+            {
+                orderNo.OrderStatus = OrderStatusEnum.Finish;
+            }
+
+            await _wmsInOutStockOrderRepository.UpdateAsync(orderNo);
+            // 璁板綍涓�鏉¤鎯�
+            var detail = new WmsInOutStockOrderDetailCreateDto
+            {
+                OrderNo = orderNo.OrderNo,
+                OrderType = orderNo.OrderType,
+                MaterialId = stock.MaterialId,
+                MaterialBatch = stock.MaterialBatch,
+                MaterialModel = stock.MaterialModel,
+                MaterialName = stock.MaterialName,
+                MaterialNo = stock.MaterialNo,
+            };
+            await _wmsInOutStockOrderDetailAppService.CreateAsync(detail);
+        }
+
+        // 鍑哄叆搴撹褰�
+        var record = new WmsInOutStockRecordCreateDto
+        {
+            TaskNo = task.TaskNo,
+            OrderNo = task.SourceOrderNo,
+            StockType = task.TaskType == TaskTypeEnum.CHUKU ? StockTypeEnum.OutBound : StockTypeEnum.InBound,
+            ContainerNo = task.ContainerNo,
+            MaterialId = stock.MaterialId,
+            MaterialModel= stock.MaterialModel,
+            MaterialName = stock.MaterialName,
+            MaterialNo = stock.MaterialNo,
+            MaterialBatch = stock.MaterialBatch,
+            SourcePlace = task.SourcePlace,
+            ToPlace = task.ToPlace,
+            OperateTime = DateTime.Now,
+        };
+        await _wmsInOutStockRecordAppService.CreateAsync(record);
+
+        await uow.SaveChangesAsync();
+        await uow.CompleteAsync();
+    }
+
+    /// <summary>
+    /// 鍙栨秷浠诲姟
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    /// <exception cref="UserFriendlyException"></exception>
+    public async Task CancelTaskAysnc(WmsTaskUpdateDto input)
+    {
+
+        using var scope = _serviceProvider.CreateScope();
+        var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+        using var uow = unitOfWorkManager.Begin(requiresNew: true);
+
+        var task = await wmsTaskRepository.FindByNameAsync(input.TaskNo);
+        if (task == null)
+        {
+            throw new UserFriendlyException("浠诲姟涓嶅瓨鍦�");
+        }
+        if (task.TaskStatus == WmsTaskStatus.WANCHENG || task.TaskStatus == WmsTaskStatus.QUXIAO)
+        {
+            throw new UserFriendlyException("鍙栨秷鎴栬�呭畬鎴愮殑浠诲姟涓嶅厑璁告搷浣�");
+        }
+        task.TaskStatus = WmsTaskStatus.QUXIAO;
+
+        // 鏇存柊搴撳瓨
+        var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1, PlaceNo = task.SourcePlace });
+        if (stockList == null || stockList.Count <= 0)
+        {
+            throw new UserFriendlyException("鍘熷簱浣嶄俊鎭笉瀛樺湪");
+        }
+        var stock = stockList.FirstOrDefault();
+        await _wmsMaterialStockRepository.DeleteAsync(stock);
+
+        if (!string.IsNullOrEmpty(task.SourceOrderNo))
+        {
+            // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺
+            var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo);
+            if(orderNo != null)
+            {
+                orderNo.CompleteNumber -= 1;
+                orderNo.OrderStatus = OrderStatusEnum.NoStart;
+            }
+            if (orderNo.CompleteNumber>0)
+            {
+                orderNo.OrderStatus = OrderStatusEnum.Executing;
+            }
+
+            await _wmsInOutStockOrderRepository.UpdateAsync(orderNo);
+            
+        }
+
+        await uow.SaveChangesAsync();
+        await uow.CompleteAsync();
+    }
 }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs
index 5b0dbda..7cfc332 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.cs
@@ -53,7 +53,7 @@
         /// <summary>
         /// 鐗╂枡鎵规
         /// </summary>
-        public int? MaterialBatch { get; set; }
+        public string? MaterialBatch { get; set; }
 
         /// <summary>
         /// 澶囨敞
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs
index ac5a066..1bae898 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsInOutStockRecord/WmsInOutStockRecord.cs
@@ -44,6 +44,11 @@
         public string? MaterialModel { get; set; }
 
         /// <summary>
+        /// 鐗╂枡鎵规
+        /// </summary>
+        public string? MaterialBatch { get; set; }
+
+        /// <summary>
         /// 鎿嶄綔鏃堕棿
         /// </summary>
         public DateTime? OperateTime { get; set; }
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
index 7ae3c6a..181ada8 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Domain/WmsMaterialStocks/IWmsMaterialStockRepository.cs
@@ -17,6 +17,14 @@
     Task<WmsMaterialStock> FindByNameAsync(string name, CancellationToken cancellationToken = default);
 
     /// <summary>
+    /// 鏍规嵁鍨嬪彿鏌ユ壘搴撳瓨
+    /// </summary>
+    /// <param name="materiaModel"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    Task<WmsMaterialStock> FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default);
+
+    /// <summary>
     /// Names the exist asynchronous.
     /// </summary>
     /// <param name="name">The name.</param>
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs
index fa74eba..c8d28bf 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockOrderDetail.cs
@@ -82,6 +82,7 @@
                     .HasComment("鏈哄瀷");
 
                 b.Property(x => x.MaterialBatch)
+                    .HasMaxLength (50)
                     .HasComment("鐗╂枡鎵规");
 
                 b.Property(x => x.Remark)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs
index ebcb94d..769d0f8 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs
@@ -73,6 +73,10 @@
                     .IsRequired(false)
                     .HasComment("鏈哄瀷");
 
+                b.Property(x => x.MaterialBatch)
+                    .HasMaxLength(64)
+                    .HasComment("鐗╂枡鎵规");
+
                 b.Property(x => x.OperateTime)
                     .IsRequired(false)
                     .HasComment("鎿嶄綔鏃堕棿");
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
index 38fa6c2..219d23d 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialRepository.cs
@@ -98,7 +98,7 @@
     {
         return await (await GetDbSetAsync())
             .WhereIf(!string.IsNullOrEmpty(material.MaterialName), u => u.MaterialName.Contains(material.MaterialName))
-            .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialName.Contains(material.MaterialNo))
+            .WhereIf(!string.IsNullOrEmpty(material.MaterialNo), u => u.MaterialNo.Contains(material.MaterialNo))
             .WhereIf(material.MaterialType > 0, u => u.MaterialType == material.MaterialType)
             .WhereIf(material.PurchaseType > 0, u => u.PurchaseType == material.PurchaseType)
             .Where(x => !x.IsDeleted)
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 f7ad367..2aaf459 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
@@ -32,6 +32,21 @@
             .FirstOrDefaultAsync(t => t.MaterialNo == materialNo, GetCancellationToken(cancellationToken));
     }
 
+    /// <summary>
+    /// 查找型号
+    /// </summary>
+    /// <param name="materiaModel"></param>
+    /// <param name="cancellationToken"></param>
+    /// <returns></returns>
+    public virtual async Task<WmsMaterialStock> FindByModelAsync(string materiaModel, CancellationToken cancellationToken = default)
+    {
+        return await (await GetDbSetAsync())
+            .IncludeDetails()
+            .Where(u => !u.IsDeleted)
+            .OrderBy(t => t.Sort)
+            .FirstOrDefaultAsync(t => t.MaterialModel == materiaModel, GetCancellationToken(cancellationToken));
+    }
+
     /// <inheritdoc />
     public async Task<bool> NameExistAsync(string materialNo, Guid? id = null)
     {
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs
new file mode 100644
index 0000000..6b888bd
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.Designer.cs
@@ -0,0 +1,1781 @@
+锘�// <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("20250511062110_InitialCreate12")]
+    partial class InitialCreate12
+    {
+        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<int?>("MaterialBatch")
+                        .HasColumnType("int")
+                        .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>("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")
+                        .IsRequired()
+                        .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?>("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/20250511062110_InitialCreate12.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs
new file mode 100644
index 0000000..b4bd58f
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511062110_InitialCreate12.cs
@@ -0,0 +1,19 @@
+锘縰sing Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace CMS.Plugin.HIAWms.MySQL.Migrations
+{
+    public partial class InitialCreate12 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs
new file mode 100644
index 0000000..3fede84
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.Designer.cs
@@ -0,0 +1,1787 @@
+锘�// <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("20250511113739_InitialCreate13")]
+    partial class InitialCreate13
+    {
+        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")
+                        .IsRequired()
+                        .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?>("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/20250511113739_InitialCreate13.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs
new file mode 100644
index 0000000..d34fed0
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511113739_InitialCreate13.cs
@@ -0,0 +1,54 @@
+锘縰sing Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace CMS.Plugin.HIAWms.MySQL.Migrations
+{
+    public partial class InitialCreate13 : Migration
+    {
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<string>(
+                name: "MaterialBatch",
+                table: "scms_wmsinoutstockrecords",
+                type: "varchar(64)",
+                maxLength: 64,
+                nullable: true,
+                comment: "鐗╂枡鎵规")
+                .Annotation("MySql:CharSet", "utf8mb4");
+
+            migrationBuilder.AlterColumn<string>(
+                name: "MaterialBatch",
+                table: "scms_wmsinoutstockorderdetail",
+                type: "varchar(50)",
+                maxLength: 50,
+                nullable: true,
+                comment: "鐗╂枡鎵规",
+                oldClrType: typeof(int),
+                oldType: "int",
+                oldNullable: true,
+                oldComment: "鐗╂枡鎵规")
+                .Annotation("MySql:CharSet", "utf8mb4");
+        }
+
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "MaterialBatch",
+                table: "scms_wmsinoutstockrecords");
+
+            migrationBuilder.AlterColumn<int>(
+                name: "MaterialBatch",
+                table: "scms_wmsinoutstockorderdetail",
+                type: "int",
+                nullable: true,
+                comment: "鐗╂枡鎵规",
+                oldClrType: typeof(string),
+                oldType: "varchar(50)",
+                oldMaxLength: 50,
+                oldNullable: true,
+                oldComment: "鐗╂枡鎵规")
+                .OldAnnotation("MySql:CharSet", "utf8mb4");
+        }
+    }
+}
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 52830b8..f501771 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -139,7 +139,7 @@
                     b.HasComment("搴撳尯琛�");
                 });
 
-            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlaces.WmsContainerPlace", b =>
+            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b =>
                 {
                     b.Property<string>("PlaceNo")
                         .HasMaxLength(50)
@@ -623,8 +623,9 @@
                         .HasColumnType("char(36)")
                         .HasColumnName("LastModifierId");
 
-                    b.Property<int?>("MaterialBatch")
-                        .HasColumnType("int")
+                    b.Property<string>("MaterialBatch")
+                        .HasMaxLength(50)
+                        .HasColumnType("varchar(50)")
                         .HasComment("鐗╂枡鎵规");
 
                     b.Property<string>("MaterialId")
@@ -741,6 +742,11 @@
                     b.Property<Guid?>("LastModifierId")
                         .HasColumnType("char(36)")
                         .HasColumnName("LastModifierId");
+
+                    b.Property<string>("MaterialBatch")
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡鎵规");
 
                     b.Property<string>("MaterialId")
                         .IsRequired()
@@ -1106,12 +1112,6 @@
                         .HasColumnType("decimal(18,2)")
                         .HasComment("闀垮害锛堝崟浣嶏細m锛�");
 
-                    b.Property<string>("MaterialNo")
-                        .IsRequired()
-                        .HasMaxLength(64)
-                        .HasColumnType("varchar(64)")
-                        .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�");
-
                     b.Property<string>("MaterialModel")
                         .HasMaxLength(128)
                         .HasColumnType("varchar(128)")
@@ -1122,6 +1122,12 @@
                         .HasMaxLength(128)
                         .HasColumnType("varchar(128)")
                         .HasComment("鐗╂枡鍚嶇О");
+
+                    b.Property<string>("MaterialNo")
+                        .IsRequired()
+                        .HasMaxLength(64)
+                        .HasColumnType("varchar(64)")
+                        .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�");
 
                     b.Property<string>("MaterialQuality")
                         .HasMaxLength(64)
@@ -1182,10 +1188,10 @@
 
                     b.HasKey("Id");
 
+                    b.HasIndex("MaterialName");
+
                     b.HasIndex("MaterialNo")
                         .IsUnique();
-
-                    b.HasIndex("MaterialName");
 
                     b.HasIndex("MaterialType");
 
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 3bc21e6..575273d 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 InitialCreate11 -c CMSPluginDbContext -o Migrations
+dotnet ef migrations add InitialCreate13 -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/WmsInsStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs
new file mode 100644
index 0000000..1622011
--- /dev/null
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsInsStockController.cs
@@ -0,0 +1,55 @@
+锘縰sing CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto;
+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
+{
+    /// <summary>
+    /// 鍏ュ簱鏈嶅姟
+    /// </summary>
+    [ApiController]
+    [TypeFilter(typeof(CMSLanguageFilter))]
+    [TypeFilter(typeof(CMSUowActionFilter))]
+    [TypeFilter(typeof(CMSAuditActionFilter))]
+    [TypeFilter(typeof(CMSExceptionFilter))]
+    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
+    public class WmsInsStockController
+    {
+        private readonly IWmsBindInStockAppService _wmsBindInStockAppService;
+
+        public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService)
+        {
+            _wmsBindInStockAppService = wmsBindInStockAppService;
+        }
+
+        /// <summary>
+        /// 缁勭洏
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("BindContainer")]
+        public async Task BindMaterialContaienrAsync(BindInstockInput input)
+        {
+            await _wmsBindInStockAppService.BindMaterialContaienrAsync(input);
+        }
+
+        /// <summary>
+        /// 缁勭洏鍏ュ簱
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("BindInstock")]
+        public async Task BindInStockAsync(BindInstockInput input)
+        {
+            await _wmsBindInStockAppService.BindInStockAsync(input);
+        }
+    }
+}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
index 8b805a4..e67e658 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
@@ -183,6 +183,30 @@
             await memoryStream.SaveAsByTemplateAsync(templatePath, exportData.Sheets); 
             memoryStream.Seek(0L, SeekOrigin.Begin); 
             return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = $"{exportData.FileName}_{DateTime.Now:yyyyMMddhhmmss}.xlsx" }; 
-        } 
+        }
+
+        /// <summary>
+        /// 寮哄埗瀹屾垚浠诲姟
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("FinishTask")]
+        public async Task FinishTaskAsync(WmsTaskUpdateDto input)
+        {
+            await _wmsTaskAppService.FinishTaskAsync(input);
+        }
+
+        /// <summary>
+        /// 鍙栨秷浠诲姟
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("CancelTask")]
+        public async Task CancelTaskAsync(WmsTaskUpdateDto input)
+        {
+            await _wmsTaskAppService.CancelTaskAysnc(input);
+        }
     } 
 } 

--
Gitblit v1.9.3