From 0609ad2318e9d20dfa1d1eebe3c24242717cd112 Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周三, 24 4月 2024 13:06:46 +0800
Subject: [PATCH] 新增实体

---
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js                                                |  114 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue                                                          |  463 +
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs                             |   26 
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js                                                     |  114 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs                 |  451 +
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js                                       |   16 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue                                                        |  127 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs                              |  217 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs                                 |  165 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs                                  |   22 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs |  204 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue                                            |    2 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue                                                  |    6 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs                       |  348 +
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs                                |   18 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs                                |   18 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue                                                 |  528 +
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue                                                 |  181 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs               |  197 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue                                                         | 1345 ++++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsUnit.cs                                                          |    0 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs                         |  670 ++
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue                                                      |  181 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue                                                     |  762 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs                              |   18 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs                       |   18 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue                                          |    2 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs                           |   14 
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js                                                    |  114 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs                       |  208 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs                                  |   22 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue                                                       |  155 
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js                                                  |   32 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue                                               |  100 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs                  |  260 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue                                                          |  827 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs                                |  112 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs                      |    4 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs                      |    7 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue                                                     |    2 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue                                                      |  239 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs              |   67 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx                    |    0 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue                                                     |  181 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs    |    2 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs                                 |  916 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs                                   |  649 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs              |   18 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx                                  |    0 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue                                                      |  181 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs       |   26 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx                             |    0 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs                        |   22 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx                               |    0 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue                                                       |  897 +-
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs                      |  117 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx                         |    0 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx                                  |    0 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue                                             |  181 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue                                              |  119 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue                                                     |    2 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs                |   22 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue                                         |    2 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs                                 |  340 +
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs                                |   22 
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js                                                |   32 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs                         |   38 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs                               |  646 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs     |   14 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue                                                  |  159 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue                                                    |    2 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue                                                       |  190 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs          |  338 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue                                                        |   94 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml                                                   | 4500 ++++++++-----
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs                                   |  412 +
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js                                            |  114 
 /dev/null                                                                                                                        |  282 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue                                                       |  111 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue                                                   |    6 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs                                |   57 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue                                                   |  130 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs                          |    2 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx                             |    0 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx                                 |    0 
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js                                                     |  114 
 86 files changed, 16,034 insertions(+), 3,280 deletions(-)

diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js
new file mode 100644
index 0000000..36d36e3
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsAreaManage.js
@@ -0,0 +1,114 @@
+锘縤mport { axios } from '@/utils/request'
+
+/**
+ * 鏌ヨ搴撳尯淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsAreaPage (parameter) {
+  return axios({
+    url: '/WmsArea/page',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 搴撳尯淇℃伅鍒楄〃
+ *
+ * @author liuwq
+ */
+export function WmsAreaList (parameter) {
+  return axios({
+    url: '/WmsArea/list',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 娣诲姞搴撳尯淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsAreaAdd (parameter) {
+  return axios({
+    url: '/WmsArea/add',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 缂栬緫搴撳尯淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsAreaEdit (parameter) {
+  return axios({
+    url: '/WmsArea/edit',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 鍒犻櫎搴撳尯淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsAreaDelete (parameter) {
+  return axios({
+    url: '/WmsArea/delete',
+    method: 'post',
+    data: parameter
+  })
+}
+
+
+/**
+ * 瀵煎嚭搴撳尯淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsAreaToExcel (parameter) {
+  return axios({
+    url: '/WmsArea/toExcel',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+/**
+ * 瀵煎叆搴撳尯淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsAreaImportExcel (data, parameter) {
+  return axios({
+    url: '/WmsArea/importExcel',
+    method: 'post',
+    data: data,
+    params: parameter
+
+  })
+}
+
+
+/**
+ * 涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘
+ *
+ * @author liuwq
+ */
+export function WmsAreaDownloadExcelTemplate(parameter) {
+  return axios({
+    url: '/WmsArea/downloadExcelTemplate',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js
new file mode 100644
index 0000000..c703eea
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerManage.js
@@ -0,0 +1,114 @@
+锘縤mport { axios } from '@/utils/request'
+
+/**
+ * 鏌ヨ瀹瑰櫒淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsContainerPage (parameter) {
+  return axios({
+    url: '/WmsContainer/page',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 瀹瑰櫒淇℃伅鍒楄〃
+ *
+ * @author liuwq
+ */
+export function WmsContainerList (parameter) {
+  return axios({
+    url: '/WmsContainer/list',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 娣诲姞瀹瑰櫒淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsContainerAdd (parameter) {
+  return axios({
+    url: '/WmsContainer/add',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 缂栬緫瀹瑰櫒淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsContainerEdit (parameter) {
+  return axios({
+    url: '/WmsContainer/edit',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 鍒犻櫎瀹瑰櫒淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsContainerDelete (parameter) {
+  return axios({
+    url: '/WmsContainer/delete',
+    method: 'post',
+    data: parameter
+  })
+}
+
+
+/**
+ * 瀵煎嚭瀹瑰櫒淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsContainerToExcel (parameter) {
+  return axios({
+    url: '/WmsContainer/toExcel',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+/**
+ * 瀵煎叆瀹瑰櫒淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsContainerImportExcel (data, parameter) {
+  return axios({
+    url: '/WmsContainer/importExcel',
+    method: 'post',
+    data: data,
+    params: parameter
+
+  })
+}
+
+
+/**
+ * 涓嬭浇瀹瑰櫒淇℃伅鐨凟xcel瀵煎叆妯℃澘
+ *
+ * @author liuwq
+ */
+export function WmsContainerDownloadExcelTemplate(parameter) {
+  return axios({
+    url: '/WmsContainer/downloadExcelTemplate',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js
index c8c89f0..4b80b7d 100644
--- a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerPackagingManage.js
@@ -1,7 +1,7 @@
 锘縤mport { axios } from '@/utils/request'
 
 /**
- * 鏌ヨ鍖呰鍏崇郴鍩虹琛�
+ * 鏌ヨ瀹瑰櫒鍏崇郴
  *
  * @author ly
  */
@@ -14,7 +14,7 @@
 }
 
 /**
- * 鍖呰鍏崇郴鍩虹琛ㄥ垪琛�
+ * 瀹瑰櫒鍏崇郴鍒楄〃
  *
  * @author ly
  */
@@ -27,7 +27,7 @@
 }
 
 /**
- * 娣诲姞鍖呰鍏崇郴鍩虹琛�
+ * 娣诲姞瀹瑰櫒鍏崇郴
  *
  * @author ly
  */
@@ -40,7 +40,7 @@
 }
 
 /**
- * 缂栬緫鍖呰鍏崇郴鍩虹琛�
+ * 缂栬緫瀹瑰櫒鍏崇郴
  *
  * @author ly
  */
@@ -53,7 +53,7 @@
 }
 
 /**
- * 鍒犻櫎鍖呰鍏崇郴鍩虹琛�
+ * 鍒犻櫎瀹瑰櫒鍏崇郴
  *
  * @author ly
  */
@@ -67,7 +67,7 @@
 
 
 /**
- * 瀵煎嚭鍖呰鍏崇郴鍩虹琛ㄧ殑Excel鏂囦欢
+ * 瀵煎嚭瀹瑰櫒鍏崇郴鐨凟xcel鏂囦欢
  *
  * @author ly
  */
@@ -81,7 +81,7 @@
 }
 
 /**
- * 瀵煎叆鍖呰鍏崇郴鍩虹琛ㄧ殑Excel鏂囦欢
+ * 瀵煎叆瀹瑰櫒鍏崇郴鐨凟xcel鏂囦欢
  *
  * @author ly
  */
@@ -97,7 +97,7 @@
 
 
 /**
- * 涓嬭浇鍖呰鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘
+ * 涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘
  *
  * @author ly
  */
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js
new file mode 100644
index 0000000..af6c8de
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsContainerTypeManage.js
@@ -0,0 +1,114 @@
+锘縤mport { axios } from '@/utils/request'
+
+/**
+ * 鏌ヨ瀹瑰櫒绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypePage (parameter) {
+  return axios({
+    url: '/WmsContainerType/page',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 瀹瑰櫒绫诲瀷鍒楄〃
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeList (parameter) {
+  return axios({
+    url: '/WmsContainerType/list',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 娣诲姞瀹瑰櫒绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeAdd (parameter) {
+  return axios({
+    url: '/WmsContainerType/add',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 缂栬緫瀹瑰櫒绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeEdit (parameter) {
+  return axios({
+    url: '/WmsContainerType/edit',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 鍒犻櫎瀹瑰櫒绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeDelete (parameter) {
+  return axios({
+    url: '/WmsContainerType/delete',
+    method: 'post',
+    data: parameter
+  })
+}
+
+
+/**
+ * 瀵煎嚭瀹瑰櫒绫诲瀷鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeToExcel (parameter) {
+  return axios({
+    url: '/WmsContainerType/toExcel',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+/**
+ * 瀵煎叆瀹瑰櫒绫诲瀷鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeImportExcel (data, parameter) {
+  return axios({
+    url: '/WmsContainerType/importExcel',
+    method: 'post',
+    data: data,
+    params: parameter
+
+  })
+}
+
+
+/**
+ * 涓嬭浇瀹瑰櫒绫诲瀷鐨凟xcel瀵煎叆妯℃澘
+ *
+ * @author liuwq
+ */
+export function WmsContainerTypeDownloadExcelTemplate(parameter) {
+  return axios({
+    url: '/WmsContainerType/downloadExcelTemplate',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js
index bc8d30c..a870291 100644
--- a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsFactoryManage.js
@@ -1,9 +1,9 @@
 锘縤mport { axios } from '@/utils/request'
 
 /**
- * 鏌ヨ宸ュ巶淇℃伅琛�
+ * 鏌ヨ宸ュ巶淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryPage (parameter) {
   return axios({
@@ -14,9 +14,9 @@
 }
 
 /**
- * 宸ュ巶淇℃伅琛ㄥ垪琛�
+ * 宸ュ巶淇℃伅鍒楄〃
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryList (parameter) {
   return axios({
@@ -27,9 +27,9 @@
 }
 
 /**
- * 娣诲姞宸ュ巶淇℃伅琛�
+ * 娣诲姞宸ュ巶淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryAdd (parameter) {
   return axios({
@@ -40,9 +40,9 @@
 }
 
 /**
- * 缂栬緫宸ュ巶淇℃伅琛�
+ * 缂栬緫宸ュ巶淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryEdit (parameter) {
   return axios({
@@ -53,9 +53,9 @@
 }
 
 /**
- * 鍒犻櫎宸ュ巶淇℃伅琛�
+ * 鍒犻櫎宸ュ巶淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryDelete (parameter) {
   return axios({
@@ -67,9 +67,9 @@
 
 
 /**
- * 瀵煎嚭宸ュ巶淇℃伅琛ㄧ殑Excel鏂囦欢
+ * 瀵煎嚭宸ュ巶淇℃伅鐨凟xcel鏂囦欢
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryToExcel (parameter) {
   return axios({
@@ -81,9 +81,9 @@
 }
 
 /**
- * 瀵煎叆宸ュ巶淇℃伅琛ㄧ殑Excel鏂囦欢
+ * 瀵煎叆宸ュ巶淇℃伅鐨凟xcel鏂囦欢
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryImportExcel (data, parameter) {
   return axios({
@@ -97,9 +97,9 @@
 
 
 /**
- * 涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘
+ * 涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsFactoryDownloadExcelTemplate(parameter) {
   return axios({
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js
new file mode 100644
index 0000000..7959015
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsPlaceManage.js
@@ -0,0 +1,114 @@
+锘縤mport { axios } from '@/utils/request'
+
+/**
+ * 鏌ヨ搴撲綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsPlacePage (parameter) {
+  return axios({
+    url: '/WmsPlace/page',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 搴撲綅淇℃伅鍒楄〃
+ *
+ * @author liuwq
+ */
+export function WmsPlaceList (parameter) {
+  return axios({
+    url: '/WmsPlace/list',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 娣诲姞搴撲綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsPlaceAdd (parameter) {
+  return axios({
+    url: '/WmsPlace/add',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 缂栬緫搴撲綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsPlaceEdit (parameter) {
+  return axios({
+    url: '/WmsPlace/edit',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 鍒犻櫎搴撲綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsPlaceDelete (parameter) {
+  return axios({
+    url: '/WmsPlace/delete',
+    method: 'post',
+    data: parameter
+  })
+}
+
+
+/**
+ * 瀵煎嚭搴撲綅淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsPlaceToExcel (parameter) {
+  return axios({
+    url: '/WmsPlace/toExcel',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+/**
+ * 瀵煎叆搴撲綅淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsPlaceImportExcel (data, parameter) {
+  return axios({
+    url: '/WmsPlace/importExcel',
+    method: 'post',
+    data: data,
+    params: parameter
+
+  })
+}
+
+
+/**
+ * 涓嬭浇搴撲綅淇℃伅鐨凟xcel瀵煎叆妯℃澘
+ *
+ * @author liuwq
+ */
+export function WmsPlaceDownloadExcelTemplate(parameter) {
+  return axios({
+    url: '/WmsPlace/downloadExcelTemplate',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js
new file mode 100644
index 0000000..876537a
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsUnitManage.js
@@ -0,0 +1,114 @@
+锘縤mport { axios } from '@/utils/request'
+
+/**
+ * 鏌ヨ鍗曚綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsUnitPage (parameter) {
+  return axios({
+    url: '/WmsUnit/page',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 鍗曚綅淇℃伅鍒楄〃
+ *
+ * @author liuwq
+ */
+export function WmsUnitList (parameter) {
+  return axios({
+    url: '/WmsUnit/list',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 娣诲姞鍗曚綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsUnitAdd (parameter) {
+  return axios({
+    url: '/WmsUnit/add',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 缂栬緫鍗曚綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsUnitEdit (parameter) {
+  return axios({
+    url: '/WmsUnit/edit',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 鍒犻櫎鍗曚綅淇℃伅
+ *
+ * @author liuwq
+ */
+export function WmsUnitDelete (parameter) {
+  return axios({
+    url: '/WmsUnit/delete',
+    method: 'post',
+    data: parameter
+  })
+}
+
+
+/**
+ * 瀵煎嚭鍗曚綅淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsUnitToExcel (parameter) {
+  return axios({
+    url: '/WmsUnit/toExcel',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+/**
+ * 瀵煎叆鍗曚綅淇℃伅鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsUnitImportExcel (data, parameter) {
+  return axios({
+    url: '/WmsUnit/importExcel',
+    method: 'post',
+    data: data,
+    params: parameter
+
+  })
+}
+
+
+/**
+ * 涓嬭浇鍗曚綅淇℃伅鐨凟xcel瀵煎叆妯℃澘
+ *
+ * @author liuwq
+ */
+export function WmsUnitDownloadExcelTemplate(parameter) {
+  return axios({
+    url: '/WmsUnit/downloadExcelTemplate',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js
index c862dec..ba73645 100644
--- a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsWarehouseManage.js
@@ -1,9 +1,9 @@
 锘縤mport { axios } from '@/utils/request'
 
 /**
- * 鏌ヨ浠撳簱琛�
+ * 鏌ヨ浠撳簱淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehousePage (parameter) {
   return axios({
@@ -14,9 +14,9 @@
 }
 
 /**
- * 浠撳簱琛ㄥ垪琛�
+ * 浠撳簱淇℃伅鍒楄〃
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseList (parameter) {
   return axios({
@@ -27,9 +27,9 @@
 }
 
 /**
- * 娣诲姞浠撳簱琛�
+ * 娣诲姞浠撳簱淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseAdd (parameter) {
   return axios({
@@ -40,9 +40,9 @@
 }
 
 /**
- * 缂栬緫浠撳簱琛�
+ * 缂栬緫浠撳簱淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseEdit (parameter) {
   return axios({
@@ -53,9 +53,9 @@
 }
 
 /**
- * 鍒犻櫎浠撳簱琛�
+ * 鍒犻櫎浠撳簱淇℃伅
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseDelete (parameter) {
   return axios({
@@ -67,9 +67,9 @@
 
 
 /**
- * 瀵煎嚭浠撳簱琛ㄧ殑Excel鏂囦欢
+ * 瀵煎嚭浠撳簱淇℃伅鐨凟xcel鏂囦欢
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseToExcel (parameter) {
   return axios({
@@ -81,9 +81,9 @@
 }
 
 /**
- * 瀵煎叆浠撳簱琛ㄧ殑Excel鏂囦欢
+ * 瀵煎叆浠撳簱淇℃伅鐨凟xcel鏂囦欢
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseImportExcel (data, parameter) {
   return axios({
@@ -97,9 +97,9 @@
 
 
 /**
- * 涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘
+ * 涓嬭浇浠撳簱淇℃伅鐨凟xcel瀵煎叆妯℃澘
  *
- * @author ly
+ * @author liuwq
  */
 export function WmsWarehouseDownloadExcelTemplate(parameter) {
   return axios({
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue
new file mode 100644
index 0000000..a281a74
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/addForm.vue
@@ -0,0 +1,127 @@
+锘�<template>
+  <a-modal
+    title="鏂板搴撳尯淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+		<a-form :form="form">
+        <a-form-item label="搴撳尯缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�" v-decorator="['areaCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹紪鐮侊紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="浠撳簱缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" v-decorator="['warehouseCode', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撶紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="浠撳簱鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" v-decorator="['warehouseName', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撳悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖哄悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖烘弿杩�" v-decorator="['areaDesc']" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ簱鍖虹姸鎬�" style="width: 100%" v-decorator="['areaStatus', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹姸鎬侊紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="ERP浠g爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏RP浠g爜" v-decorator="['erpCode', {rules: [{required: true, message: '璇疯緭鍏RP浠g爜锛�'}]}]" />
+        </a-form-item>
+        <a-form-item label="鎵�灞炰粨搴�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ墍灞炰粨搴�" v-decorator="['warehouseId', {rules: [{required: true, message: '璇疯緭鍏ユ墍灞炰粨搴擄紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isBarcodeLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="妫�楠屽厛杩涘厛鍑�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isFIFO',{rules: [{ required: true, message: '璇烽�夋嫨妫�楠屽厛杩涘厛鍑猴紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isPartLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鍏佽娣锋穯" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAllowConfusion',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽娣锋穯锛�' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鍏佽璐熷簱瀛�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAllowNegativeInventory',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽璐熷簱瀛橈紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import {
+  WmsAreaAdd
+  } from '@/api/modular/main/WmsBase/WmsAreaManage'
+  export default {
+  data () {
+  return {
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      add (record) {
+        this.visible = true
+        this.$nextTick(() => {
+
+        });
+      },
+      /**
+       * 鎻愪氦琛ㄥ崟
+       */
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+              }
+            }
+            WmsAreaAdd(values).then((res) => {
+              if (res.success) {
+                this.$message.success('鏂板鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', values)
+                this.handleCancel()
+              } else {
+                this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          } else {
+            this.confirmLoading = false
+          }
+        })
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue
new file mode 100644
index 0000000..e6eae7b
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/editForm.vue
@@ -0,0 +1,155 @@
+锘�<template>
+  <a-modal
+    title="缂栬緫搴撳尯淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-form-item label="搴撳尯缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�" v-decorator="['areaCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹紪鐮侊紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="浠撳簱缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�" v-decorator="['warehouseCode', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撶紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="浠撳簱鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" v-decorator="['warehouseName', {rules: [{required: true, message: '璇疯緭鍏ヤ粨搴撳悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖哄悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖烘弿杩�" v-decorator="['areaDesc']" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ簱鍖虹姸鎬�" style="width: 100%" v-decorator="['areaStatus', {rules: [{required: true, message: '璇疯緭鍏ュ簱鍖虹姸鎬侊紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="ERP浠g爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏RP浠g爜" v-decorator="['erpCode', {rules: [{required: true, message: '璇疯緭鍏RP浠g爜锛�'}]}]" />
+        </a-form-item>
+        <a-form-item label="鎵�灞炰粨搴�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ墍灞炰粨搴�" v-decorator="['warehouseId', {rules: [{required: true, message: '璇疯緭鍏ユ墍灞炰粨搴擄紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isBarcodeLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="妫�楠屽厛杩涘厛鍑�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isFIFO',{rules: [{ required: true, message: '璇烽�夋嫨妫�楠屽厛杩涘厛鍑猴紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="闆朵欢绾х鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isPartLevelControl',{rules: [{ required: true, message: '璇烽�夋嫨闆朵欢绾х鎺э紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鍏佽娣锋穯" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAllowConfusion',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽娣锋穯锛�' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鍏佽璐熷簱瀛�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAllowNegativeInventory',{rules: [{ required: true, message: '璇烽�夋嫨鍏佽璐熷簱瀛橈紒' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import moment from 'moment'
+  import {
+  WmsAreaEdit
+  } from '@/api/modular/main/WmsBase/WmsAreaManage'
+  export default {
+  data () {
+  return {
+  Id: 0,
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+  record: {},
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      edit (record) {
+        this.visible = true;
+		this.Id = record.id;
+        this.$nextTick(() => {
+        });
+        //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔�
+        this.record = JSON.parse(JSON.stringify(record))
+        this.$nextTick(() => {
+          this.form.setFieldsValue(
+            {
+              id: record.id,
+              areaCode: record.areaCode,
+              warehouseCode: record.warehouseCode,
+              warehouseName: record.warehouseName,
+              areaName: record.areaName,
+              areaDesc: record.areaDesc,
+              areaStatus: record.areaStatus,
+              erpCode: record.erpCode,
+              warehouseId: record.warehouseId,
+              isBarcodeLevelControl: record.isBarcodeLevelControl,
+              isFIFO: record.isFIFO,
+              isPartLevelControl: record.isPartLevelControl,
+              isAllowConfusion: record.isAllowConfusion,
+              isAllowNegativeInventory: record.isAllowNegativeInventory,
+              isVirtually: record.isVirtually,
+              isDisabled: record.isDisabled
+            }
+          )
+        })
+      },
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (values[key] == null) continue
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+                 this.record[key] = values[key]
+              } else {
+                 this.record[key] = values[key]
+              }
+            }
+            WmsAreaEdit(this.record).then((res) => {
+              if (res.success) {
+                this.$message.success('缂栬緫鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', this.record)
+                this.handleCancel()
+              } else {
+                this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          }else{
+            this.confirmLoading = false
+          } 
+        });
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue
new file mode 100644
index 0000000..aac1452
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/excelForm.vue
@@ -0,0 +1,181 @@
+锘�<template>
+  <a-modal
+    :width="850"
+    :destroyOnClose="true"
+    :visible="visible"
+    :forceRender="true"
+    title="鎵归噺瀵煎叆"
+    cancelText="鍙栨秷涓婁紶"
+    okText="寮�濮嬩笂浼�"
+    @cancel="handleCancel"
+    @ok="handleSubmit">
+    <a-spin :spinning="confirmLoading">
+      <a-row :span="24">
+        <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span>
+      </a-row>
+      <p></p>
+      <a-row>
+        <a-col :span="16">
+          <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload">
+            <a-icon style="font-size: 40px;" type="cloud-upload" />
+          </a-upload-dragger>
+        </a-col>
+        <!--<a-col :span="8">
+          <span>瀵煎叆妯″紡锛�</span>
+          <a-select
+            style="width: 130px"
+            placeholder="璇烽�夋嫨瀵煎叆妯″紡"
+            v-model="importExcelType">
+            <a-select-option
+              v-for="(item,index) in importExcelTypeData"
+              :key="index"
+              :value="item.code">{{ item.name }}
+            </a-select-option>
+          </a-select>
+        </a-col>-->
+      </a-row>
+      <a-row :span="24">
+        <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed">
+          鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰
+        </a-button>-->
+        <span>銆�</span>
+        <a-button style="width: 90px;text-align: left;" @click="wmsAreaDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶
+        <span>銆�</span>
+        <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed">
+          鏀惰捣
+        </a-button>
+      </a-row>
+      <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24">
+        <a-breadcrumb>
+          <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item>
+        </a-breadcrumb>
+      </a-row>
+      <pre v-show="detailed">
+        <div v-html="demandText"></div>
+      </pre>
+      <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table>
+      <pre v-show="detailed">
+        <div v-html="columnText"></div>
+      </pre>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util'
+
+  import { WmsAreaImportExcel, WmsAreaDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsAreaManage'
+  import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage'
+  export default {
+  components: {
+  },
+  data() {
+  return {
+  visible: false,
+  detailed: false,
+  confirmLoading: false,
+  fileList: [],
+  importExcelTypeData: [],
+  importExcelType: '1',
+  uploadFile: null,
+  columns: [],
+  dataList: [],
+  demandText:'',
+  columnText: ''
+  }
+  },
+  methods: {
+  index() {
+  this.visible = true;
+  this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type')
+  this.demandText = parseDemandText("wmsAreaDownloadExcelTemplate")
+  window.downloadFile = this.wmsAreaDownloadExcelTemplate;
+  this.getTable();
+  },
+  showDemand() {
+  this.detailed = !this.detailed;
+  },
+  customRequest(document) {
+  this.uploadFile = document
+  },
+  getTable() {
+  sysExcelTemplateGetColumnList({className: "WmsArea"}).then(res =>
+  {
+  if (res.success) {
+  this.columns =[];
+  this.dataList = [{}];
+  res.data.forEach(x => {
+  this.columns.push({
+  dataIndex: x.columnName,
+  key: x.columnName,
+  title: x.columnComment
+  });
+  this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�"
+  });
+  this.columnText = parseExcelFieldText(res.data);
+  }
+  });
+  },
+  beforeUpload(fileInfo) {
+  let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']);
+  if (!res.success) {
+  this.$message.warning(res.msg)
+  return false
+  }
+  setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000)
+  },
+  handleChange(fileInfo) {
+  if (fileInfo.file.status === 'error') {
+  fileInfo.fileList.splice(0, 1)
+  }
+  if (fileInfo.file.status === 'done') {
+  if (fileInfo.fileList.length > 1) {
+  fileInfo.fileList.splice(0, 1)
+  }
+  this.fileList = fileInfo.file
+  }
+  },
+  handleSubmit() {
+  this.confirmLoading = true
+  const formData = new FormData()
+  formData.append('file', this.uploadFile.file)
+  WmsAreaImportExcel(formData, {importExcelType: this.importExcelType}).then(res => {
+  this.$message.success('鎿嶄綔鎴愬姛')
+  this.confirmLoading = false
+  this.$emit('ok', [])
+  this.handleCancel()
+  }).finally((res)=>{this.confirmLoading = false})
+  },
+  handleCancel() {
+  this.visible = false
+  this.detailed = false
+  },
+  wmsAreaDownloadExcelTemplate() {
+  WmsAreaDownloadExcelTemplate({version: "v2"}).then((res) => {
+  downloadFile(res);
+  }).catch((err) => {
+  this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+  })
+  }
+  }
+  }
+</script>
+
+<style scoped>
+::v-deep .ant-upload.ant-upload-drag {
+  position: relative;
+  width: 140px;
+  height: 135px;
+  text-align: center;
+  background: #fafafa;
+  border: 1px dashed #d9d9d9;
+  border-radius: 2px;
+  cursor: pointer;
+  -webkit-transition: border-color 0.3s;
+  transition: border-color 0.3s;
+}
+::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) {
+  color: #ffc53d;
+  border-color: white;
+}
+</style>
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue
new file mode 100644
index 0000000..44fff97
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsArea/index.vue
@@ -0,0 +1,827 @@
+锘�<template>
+  <div ref="boxOutWrap" class="boxOutWrap">
+	<div ref="boxForm" class="boxForm">  
+    <a-card :bordered="false" :bodyStyle="tstyle">
+
+      <div class="table-page-search-wrapper" v-if="hasPerm('WmsArea:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="搴撳尯缂栫爜">
+                <a-input v-model="queryParam.areaCode" allow-clear placeholder="璇疯緭鍏ュ簱鍖虹紪鐮�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="浠撳簱缂栧彿">
+                <a-input v-model="queryParam.warehouseCode" allow-clear placeholder="璇疯緭鍏ヤ粨搴撶紪鍙�"/>
+              </a-form-item>
+            </a-col><template v-if="advanced">
+              <a-col :md="8" :sm="24">
+                <a-form-item label="浠撳簱鍚嶇О">
+                  <a-input v-model="queryParam.warehouseName" allow-clear placeholder="璇疯緭鍏ヤ粨搴撳悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撳尯鍚嶇О">
+                  <a-input v-model="queryParam.areaName" allow-clear placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撳尯鎻忚堪">
+                  <a-input v-model="queryParam.areaDesc" allow-clear placeholder="璇疯緭鍏ュ簱鍖烘弿杩�"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="搴撳尯鐘舵��">
+                  <a-input-number v-model="queryParam.areaStatus" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ簱鍖虹姸鎬�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="ERP浠g爜">
+                  <a-input v-model="queryParam.erpCode" allow-clear placeholder="璇疯緭鍏RP浠g爜"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鎵�灞炰粨搴�">
+                  <a-input v-model="queryParam.warehouseId" allow-clear placeholder="璇疯緭鍏ユ墍灞炰粨搴�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="闆朵欢绾х鎺�">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isBarcodeLevelControl" placeholder="璇烽�夋嫨闆朵欢绾х鎺�">
+						<a-select-option v-for="(item,index) in isBarcodeLevelControlData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="妫�楠屽厛杩涘厛鍑�">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isFIFO" placeholder="璇烽�夋嫨妫�楠屽厛杩涘厛鍑�">
+						<a-select-option v-for="(item,index) in isFIFOData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="闆朵欢绾х鎺�">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isPartLevelControl" placeholder="璇烽�夋嫨闆朵欢绾х鎺�">
+						<a-select-option v-for="(item,index) in isPartLevelControlData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鍏佽娣锋穯">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAllowConfusion" placeholder="璇烽�夋嫨鍏佽娣锋穯">
+						<a-select-option v-for="(item,index) in isAllowConfusionData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鍏佽璐熷簱瀛�">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAllowNegativeInventory" placeholder="璇烽�夋嫨鍏佽璐熷簱瀛�">
+						<a-select-option v-for="(item,index) in isAllowNegativeInventoryData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁铏氭嫙">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+						<a-select-option v-for="(item,index) in isVirtuallyData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁绂佺敤">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+						<a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鍒涘缓鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangecreatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鏇存柊鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangeupdatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍒涘缓鑰呭悕绉�">
+                  <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="淇敼鑰呭悕绉�">
+                  <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
+                </a-form-item>
+              </a-col>	</template>
+
+            <a-col :md="8" :sm="24" >
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button>
+                <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button>
+                <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                </a>
+              </span>
+            </a-col>
+
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+	</div>
+    <a-card :bordered="false">
+      <s-table
+        ref="table"
+        :columns="columns"
+        :data="loadData"
+        :alert="true"
+		@changeTablePage="pageInfo = $event"
+		:scroll="{x: true,y:tableHeight}"
+        :rowKey="(record) => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+        <template class="table-operator" slot="operator" v-if="hasPerm('WmsArea:add')" >
+		<div ref="actionBar" class="actionBar">
+			<a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
+            瀵煎叆
+          </a-button>
+          <a-button type="info" v-if="hasPerm('WmsArea:exportExcel')" icon="download" @click="WmsAreaToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsArea:add')" icon="plus" @click="$refs.addForm.add()">鏂板搴撳尯淇℃伅</a-button>
+		</div>
+		</template>
+		  <span slot="isBarcodeLevelControlscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isFIFOscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isPartLevelControlscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isAllowConfusionscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isAllowNegativeInventoryscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isVirtuallyscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isDisabledscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="action" slot-scope="text, record">
+			
+			<a v-if="hasPerm('WmsArea:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsArea:edit') & hasPerm('WmsArea:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsArea:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsAreaDelete(record)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </s-table>
+      <add-form ref="addForm" @ok="handleOk" />
+      <edit-form ref="editForm" @ok="handleOk" />
+	  <excel-form ref="excelForm" @ok="handleOk" />
+    </a-card>
+  </div>
+</template>
+<script>
+	import { STable } from '@/components'
+	import moment from 'moment'
+	import { WmsAreaPage, WmsAreaDelete, WmsAreaToExcel } from '@/api/modular/main/WmsBase/WmsAreaManage'
+	//鑷畾涔塼able楂樺害
+	import setTableHtMixin from '@/mixins/handleTableHt.js'
+	import addForm from './addForm.vue'
+	import { exportExcel } from '@/utils/exportToExcel'
+	import { downloadFile } from '@/utils/util'
+	import editForm from './editForm.vue'
+	import excelForm from './excelForm.vue'
+	export default {
+	mixins: [setTableHtMixin],
+	components: {
+	STable,
+	addForm,
+	editForm,
+	excelForm
+	},
+	data () {
+	return {
+	advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+	queryParam: {},
+	 pageInfo: {
+        current: 1,
+        pageSize: 10
+      },
+	columns: [
+	{
+	title:'搴忓彿',
+	width: '60px',
+	align: 'center',
+	customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+	},
+	{
+	title: '搴撳尯缂栫爜',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaCode'
+	},
+	{
+	title: '浠撳簱缂栧彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'warehouseCode'
+	},
+	{
+	title: '浠撳簱鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'warehouseName'
+	},
+	{
+	title: '搴撳尯鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaName'
+	},
+	{
+	title: '搴撳尯鎻忚堪',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaDesc'
+	},
+	{
+	title: '搴撳尯鐘舵��',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaStatus'
+	},
+	{
+	title: 'ERP浠g爜',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'erpCode'
+	},
+	{
+	title: '鎵�灞炰粨搴�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'warehouseId'
+	},
+	{
+	title: '闆朵欢绾х鎺�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isBarcodeLevelControl',
+	scopedSlots: { customRender: 'isBarcodeLevelControlscopedSlots' }
+	},
+	{
+	title: '妫�楠屽厛杩涘厛鍑�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isFIFO',
+	scopedSlots: { customRender: 'isFIFOscopedSlots' }
+	},
+	{
+	title: '闆朵欢绾х鎺�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isPartLevelControl',
+	scopedSlots: { customRender: 'isPartLevelControlscopedSlots' }
+	},
+	{
+	title: '鍏佽娣锋穯',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isAllowConfusion',
+	scopedSlots: { customRender: 'isAllowConfusionscopedSlots' }
+	},
+	{
+	title: '鍏佽璐熷簱瀛�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isAllowNegativeInventory',
+	scopedSlots: { customRender: 'isAllowNegativeInventoryscopedSlots' }
+	},
+	{
+	title: '鏄惁铏氭嫙',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isVirtually',
+	scopedSlots: { customRender: 'isVirtuallyscopedSlots' }
+	},
+	{
+	title: '鏄惁绂佺敤',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isDisabled',
+	scopedSlots: { customRender: 'isDisabledscopedSlots' }
+	},
+	{
+	title: '鍒涘缓鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdTime'
+	},
+	{
+	title: '鏇存柊鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedTime'
+	},
+	{
+	title: '鍒涘缓鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdUserName'
+	},
+	{
+	title: '淇敼鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedUserName'
+	}
+	],
+	tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+	// 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+	loadData: parameter => {
+	return WmsAreaPage(Object.assign(parameter, this.switchingDate())).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsArea:edit') || this.hasPerm('WmsArea:delete')) {
+	this.columns.push({
+	title: '鎿嶄綔',
+	width: '150px',
+	dataIndex: 'action',
+	scopedSlots: { customRender: 'action' }
+	})
+	}
+	const path = this.$route.path
+	const columnStr = window.localStorage.getItem(path)
+	if(columnStr) {
+	var _columns = JSON.parse(columnStr)
+	this.columns.forEach(element => {
+	var fObj = _columns.find((item, index) => {
+	return item.dataIndex === element.dataIndex;
+	})
+	if(fObj!=undefined && fObj!=null){
+	element.checked=fObj.checked;
+	}
+	});
+	}
+	const isBarcodeLevelControlOption = this.$options
+	this.isBarcodeLevelControlData = isBarcodeLevelControlOption.filters['dictData']('yes_true_false')
+	const isFIFOOption = this.$options
+	this.isFIFOData = isFIFOOption.filters['dictData']('yes_true_false')
+	const isPartLevelControlOption = this.$options
+	this.isPartLevelControlData = isPartLevelControlOption.filters['dictData']('yes_true_false')
+	const isAllowConfusionOption = this.$options
+	this.isAllowConfusionData = isAllowConfusionOption.filters['dictData']('yes_true_false')
+	const isAllowNegativeInventoryOption = this.$options
+	this.isAllowNegativeInventoryData = isAllowNegativeInventoryOption.filters['dictData']('yes_true_false')
+	const isVirtuallyOption = this.$options
+	this.isVirtuallyData = isVirtuallyOption.filters['dictData']('yes_true_false')
+	const isDisabledOption = this.$options
+	this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	window.addEventListener(
+	'resize',
+	() => {
+	this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+	},
+	false
+	)
+	
+	},
+	methods: {
+	moment,
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsAreaDelete (record) {
+	WmsAreaDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
+
+
+	WmsAreaToExcel() {
+	this.loading = true
+	let entozh = {};
+	const path = this.$route.path;
+	if (window.localStorage.getItem(path)) {
+	JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+	if (item.dataIndex != 'action' && item.checked) {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	} else { //鐩存帴鐐瑰鍑�
+	this.columns.forEach(item => {
+	if (item.dataIndex != 'action') {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	}
+	WmsAreaPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
+	this.loading = false;
+	//闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+	var arrDataCutout = this.columns.filter(v => v.customCutout == true);
+	res.data.rows.forEach(item => {
+	var arrKeys = Object.keys(item);
+	arrKeys.forEach(key => {
+	var strFieldDic = key + 'Data';
+	//鏋氫妇杞��
+	if (this[strFieldDic] && this[strFieldDic].length > 0) {
+	let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
+	if (arrFieldDic.length > 0) {
+	item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
+	}
+	}
+	// 鏃ユ湡鎴彇
+	if (arrDataCutout.length > 0) {
+	arrDataCutout.forEach(itemIn => {
+	if (key == itemIn.dataIndex && item[key]) {
+	item[key] = item[key].split(" ")[0]
+	}
+	})
+	}
+	});
+	})
+	exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
+	}).catch((err) => {
+	this.loading = false
+	this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+	})
+	},
+
+
+	toggleAdvanced () {
+	this.advanced = !this.advanced
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	onChangecreatedTime(date, dateString) {
+	  this.queryParam.createdTime = dateString
+	},
+	onChangeupdatedTime(date, dateString) {
+	  this.queryParam.updatedTime = dateString
+	},
+	handleOk () {
+	this.$refs.table.refresh()
+	},
+	onSelectChange (selectedRowKeys, selectedRows) {
+	this.selectedRowKeys = selectedRowKeys
+	this.selectedRows = selectedRows
+	}
+	}
+	}
+</script>
+<style lang="less">
+  .table-operator {
+    margin-bottom: 18px;
+  }
+  button {
+    margin-right: 8px;
+  }
+</style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue
new file mode 100644
index 0000000..4269fb3
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/addForm.vue
@@ -0,0 +1,130 @@
+锘�<template>
+  <a-modal
+    title="鏂板瀹瑰櫒淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+		<a-form :form="form">
+        <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['containerCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['containerName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨婭D" v-decorator="['containerTypeId', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨婭D锛�'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['containerTypeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="瀹瑰櫒鍏崇郴ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ鍣ㄥ叧绯籌D" v-decorator="['packagingId', {rules: [{required: true, message: '璇疯緭鍏ュ鍣ㄥ叧绯籌D锛�'}]}]" />
+        </a-form-item>
+        <a-form-item label="闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ暱搴�" v-decorator="['specLength']" />
+        </a-form-item>
+        <a-form-item label="瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ搴�" v-decorator="['specWidth']" />
+        </a-form-item>
+        <a-form-item label="楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ珮搴�" v-decorator="['specHeight']" />
+        </a-form-item>
+        <a-form-item label="闄愰暱" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ檺闀�" v-decorator="['limitLength']" />
+        </a-form-item>
+        <a-form-item label="闄愬" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ檺瀹�" v-decorator="['limitWidth']" />
+        </a-form-item>
+        <a-form-item label="闄愰珮" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ檺楂�" v-decorator="['limitHeight']" />
+        </a-form-item>
+        <a-form-item label="杞介噸涓婇檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�" v-decorator="['maxWeight']" />
+        </a-form-item>
+        <a-form-item label="鐖跺鍣ㄥ悕绉�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒鍚嶇О" v-decorator="['parentContainerName']" />
+        </a-form-item>
+        <a-form-item label="鐖跺鍣↖d" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒Id" v-decorator="['parentContainerId']" />
+        </a-form-item>
+        <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ユ槸鍚﹁櫄鎷�" style="width: 100%" v-decorator="['isVirtually']" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import {
+  WmsContainerAdd
+  } from '@/api/modular/main/WmsBase/WmsContainerManage'
+  export default {
+  data () {
+  return {
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      add (record) {
+        this.visible = true
+        this.$nextTick(() => {
+
+        });
+      },
+      /**
+       * 鎻愪氦琛ㄥ崟
+       */
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+              }
+            }
+            WmsContainerAdd(values).then((res) => {
+              if (res.success) {
+                this.$message.success('鏂板鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', values)
+                this.handleCancel()
+              } else {
+                this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          } else {
+            this.confirmLoading = false
+          }
+        })
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue
new file mode 100644
index 0000000..9d32d6c
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/editForm.vue
@@ -0,0 +1,159 @@
+锘�<template>
+  <a-modal
+    title="缂栬緫瀹瑰櫒淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['containerCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['containerName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨婭D" v-decorator="['containerTypeId', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨婭D锛�'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['containerTypeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="瀹瑰櫒鍏崇郴ID" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ鍣ㄥ叧绯籌D" v-decorator="['packagingId', {rules: [{required: true, message: '璇疯緭鍏ュ鍣ㄥ叧绯籌D锛�'}]}]" />
+        </a-form-item>
+        <a-form-item label="闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ暱搴�" v-decorator="['specLength']" />
+        </a-form-item>
+        <a-form-item label="瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ搴�" v-decorator="['specWidth']" />
+        </a-form-item>
+        <a-form-item label="楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ珮搴�" v-decorator="['specHeight']" />
+        </a-form-item>
+        <a-form-item label="闄愰暱" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ檺闀�" v-decorator="['limitLength']" />
+        </a-form-item>
+        <a-form-item label="闄愬" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ檺瀹�" v-decorator="['limitWidth']" />
+        </a-form-item>
+        <a-form-item label="闄愰珮" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ラ檺楂�" v-decorator="['limitHeight']" />
+        </a-form-item>
+        <a-form-item label="杞介噸涓婇檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�" v-decorator="['maxWeight']" />
+        </a-form-item>
+        <a-form-item label="鐖跺鍣ㄥ悕绉�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒鍚嶇О" v-decorator="['parentContainerName']" />
+        </a-form-item>
+        <a-form-item label="鐖跺鍣↖d" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ埗瀹瑰櫒Id" v-decorator="['parentContainerId']" />
+        </a-form-item>
+        <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ユ槸鍚﹁櫄鎷�" style="width: 100%" v-decorator="['isVirtually']" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import moment from 'moment'
+  import {
+  WmsContainerEdit
+  } from '@/api/modular/main/WmsBase/WmsContainerManage'
+  export default {
+  data () {
+  return {
+  Id: 0,
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+  record: {},
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      edit (record) {
+        this.visible = true;
+		this.Id = record.id;
+        this.$nextTick(() => {
+        });
+        //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔�
+        this.record = JSON.parse(JSON.stringify(record))
+        this.$nextTick(() => {
+          this.form.setFieldsValue(
+            {
+              id: record.id,
+              containerCode: record.containerCode,
+              containerName: record.containerName,
+              containerTypeId: record.containerTypeId,
+              containerTypeName: record.containerTypeName,
+              packagingId: record.packagingId,
+              specLength: record.specLength,
+              specWidth: record.specWidth,
+              specHeight: record.specHeight,
+              limitLength: record.limitLength,
+              limitWidth: record.limitWidth,
+              limitHeight: record.limitHeight,
+              maxWeight: record.maxWeight,
+              parentContainerName: record.parentContainerName,
+              parentContainerId: record.parentContainerId,
+              isVirtually: record.isVirtually,
+              isDisabled: record.isDisabled
+            }
+          )
+        })
+      },
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (values[key] == null) continue
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+                 this.record[key] = values[key]
+              } else {
+                 this.record[key] = values[key]
+              }
+            }
+            WmsContainerEdit(this.record).then((res) => {
+              if (res.success) {
+                this.$message.success('缂栬緫鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', this.record)
+                this.handleCancel()
+              } else {
+                this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          }else{
+            this.confirmLoading = false
+          } 
+        });
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue
new file mode 100644
index 0000000..1922b01
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/excelForm.vue
@@ -0,0 +1,181 @@
+锘�<template>
+  <a-modal
+    :width="850"
+    :destroyOnClose="true"
+    :visible="visible"
+    :forceRender="true"
+    title="鎵归噺瀵煎叆"
+    cancelText="鍙栨秷涓婁紶"
+    okText="寮�濮嬩笂浼�"
+    @cancel="handleCancel"
+    @ok="handleSubmit">
+    <a-spin :spinning="confirmLoading">
+      <a-row :span="24">
+        <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span>
+      </a-row>
+      <p></p>
+      <a-row>
+        <a-col :span="16">
+          <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload">
+            <a-icon style="font-size: 40px;" type="cloud-upload" />
+          </a-upload-dragger>
+        </a-col>
+        <!--<a-col :span="8">
+          <span>瀵煎叆妯″紡锛�</span>
+          <a-select
+            style="width: 130px"
+            placeholder="璇烽�夋嫨瀵煎叆妯″紡"
+            v-model="importExcelType">
+            <a-select-option
+              v-for="(item,index) in importExcelTypeData"
+              :key="index"
+              :value="item.code">{{ item.name }}
+            </a-select-option>
+          </a-select>
+        </a-col>-->
+      </a-row>
+      <a-row :span="24">
+        <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed">
+          鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰
+        </a-button>-->
+        <span>銆�</span>
+        <a-button style="width: 90px;text-align: left;" @click="wmsContainerDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶
+        <span>銆�</span>
+        <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed">
+          鏀惰捣
+        </a-button>
+      </a-row>
+      <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24">
+        <a-breadcrumb>
+          <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item>
+        </a-breadcrumb>
+      </a-row>
+      <pre v-show="detailed">
+        <div v-html="demandText"></div>
+      </pre>
+      <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table>
+      <pre v-show="detailed">
+        <div v-html="columnText"></div>
+      </pre>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util'
+
+  import { WmsContainerImportExcel, WmsContainerDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsContainerManage'
+  import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage'
+  export default {
+  components: {
+  },
+  data() {
+  return {
+  visible: false,
+  detailed: false,
+  confirmLoading: false,
+  fileList: [],
+  importExcelTypeData: [],
+  importExcelType: '1',
+  uploadFile: null,
+  columns: [],
+  dataList: [],
+  demandText:'',
+  columnText: ''
+  }
+  },
+  methods: {
+  index() {
+  this.visible = true;
+  this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type')
+  this.demandText = parseDemandText("wmsContainerDownloadExcelTemplate")
+  window.downloadFile = this.wmsContainerDownloadExcelTemplate;
+  this.getTable();
+  },
+  showDemand() {
+  this.detailed = !this.detailed;
+  },
+  customRequest(document) {
+  this.uploadFile = document
+  },
+  getTable() {
+  sysExcelTemplateGetColumnList({className: "WmsContainer"}).then(res =>
+  {
+  if (res.success) {
+  this.columns =[];
+  this.dataList = [{}];
+  res.data.forEach(x => {
+  this.columns.push({
+  dataIndex: x.columnName,
+  key: x.columnName,
+  title: x.columnComment
+  });
+  this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�"
+  });
+  this.columnText = parseExcelFieldText(res.data);
+  }
+  });
+  },
+  beforeUpload(fileInfo) {
+  let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']);
+  if (!res.success) {
+  this.$message.warning(res.msg)
+  return false
+  }
+  setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000)
+  },
+  handleChange(fileInfo) {
+  if (fileInfo.file.status === 'error') {
+  fileInfo.fileList.splice(0, 1)
+  }
+  if (fileInfo.file.status === 'done') {
+  if (fileInfo.fileList.length > 1) {
+  fileInfo.fileList.splice(0, 1)
+  }
+  this.fileList = fileInfo.file
+  }
+  },
+  handleSubmit() {
+  this.confirmLoading = true
+  const formData = new FormData()
+  formData.append('file', this.uploadFile.file)
+  WmsContainerImportExcel(formData, {importExcelType: this.importExcelType}).then(res => {
+  this.$message.success('鎿嶄綔鎴愬姛')
+  this.confirmLoading = false
+  this.$emit('ok', [])
+  this.handleCancel()
+  }).finally((res)=>{this.confirmLoading = false})
+  },
+  handleCancel() {
+  this.visible = false
+  this.detailed = false
+  },
+  wmsContainerDownloadExcelTemplate() {
+  WmsContainerDownloadExcelTemplate({version: "v2"}).then((res) => {
+  downloadFile(res);
+  }).catch((err) => {
+  this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+  })
+  }
+  }
+  }
+</script>
+
+<style scoped>
+::v-deep .ant-upload.ant-upload-drag {
+  position: relative;
+  width: 140px;
+  height: 135px;
+  text-align: center;
+  background: #fafafa;
+  border: 1px dashed #d9d9d9;
+  border-radius: 2px;
+  cursor: pointer;
+  -webkit-transition: border-color 0.3s;
+  transition: border-color 0.3s;
+}
+::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) {
+  color: #ffc53d;
+  border-color: white;
+}
+</style>
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue
new file mode 100644
index 0000000..a42b3fe
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainer/index.vue
@@ -0,0 +1,762 @@
+锘�<template>
+  <div ref="boxOutWrap" class="boxOutWrap">
+	<div ref="boxForm" class="boxForm">  
+    <a-card :bordered="false" :bodyStyle="tstyle">
+
+      <div class="table-page-search-wrapper" v-if="hasPerm('WmsContainer:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="缂栧彿">
+                <a-input v-model="queryParam.containerCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="鍚嶇О">
+                <a-input v-model="queryParam.containerName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/>
+              </a-form-item>
+            </a-col><template v-if="advanced">
+              <a-col :md="8" :sm="24">
+                <a-form-item label="绫诲瀷ID">
+                  <a-input v-model="queryParam.containerTypeId" allow-clear placeholder="璇疯緭鍏ョ被鍨婭D"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="绫诲瀷鍚嶇О">
+                  <a-input v-model="queryParam.containerTypeName" allow-clear placeholder="璇疯緭鍏ョ被鍨嬪悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="瀹瑰櫒鍏崇郴ID">
+                  <a-input v-model="queryParam.packagingId" allow-clear placeholder="璇疯緭鍏ュ鍣ㄥ叧绯籌D"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="闀垮害">
+                  <a-input v-model="queryParam.specLength" allow-clear placeholder="璇疯緭鍏ラ暱搴�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="瀹藉害">
+                  <a-input v-model="queryParam.specWidth" allow-clear placeholder="璇疯緭鍏ュ搴�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="楂樺害">
+                  <a-input v-model="queryParam.specHeight" allow-clear placeholder="璇疯緭鍏ラ珮搴�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="闄愰暱">
+                  <a-input v-model="queryParam.limitLength" allow-clear placeholder="璇疯緭鍏ラ檺闀�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="闄愬">
+                  <a-input v-model="queryParam.limitWidth" allow-clear placeholder="璇疯緭鍏ラ檺瀹�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="闄愰珮">
+                  <a-input v-model="queryParam.limitHeight" allow-clear placeholder="璇疯緭鍏ラ檺楂�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="杞介噸涓婇檺">
+                  <a-input v-model="queryParam.maxWeight" allow-clear placeholder="璇疯緭鍏ヨ浇閲嶄笂闄�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鐖跺鍣ㄥ悕绉�">
+                  <a-input v-model="queryParam.parentContainerName" allow-clear placeholder="璇疯緭鍏ョ埗瀹瑰櫒鍚嶇О"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鐖跺鍣↖d">
+                  <a-input v-model="queryParam.parentContainerId" allow-clear placeholder="璇疯緭鍏ョ埗瀹瑰櫒Id"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="鏄惁铏氭嫙">
+                  <a-input-number v-model="queryParam.isVirtually" style="width: 100%" allow-clear placeholder="璇疯緭鍏ユ槸鍚﹁櫄鎷�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁绂佺敤">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+						<a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鍒涘缓鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangecreatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鏇存柊鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangeupdatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍒涘缓鑰呭悕绉�">
+                  <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="淇敼鑰呭悕绉�">
+                  <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
+                </a-form-item>
+              </a-col>	</template>
+
+            <a-col :md="8" :sm="24" >
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button>
+                <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button>
+                <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                </a>
+              </span>
+            </a-col>
+
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+	</div>
+    <a-card :bordered="false">
+      <s-table
+        ref="table"
+        :columns="columns"
+        :data="loadData"
+        :alert="true"
+		@changeTablePage="pageInfo = $event"
+		:scroll="{x: true,y:tableHeight}"
+        :rowKey="(record) => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+        <template class="table-operator" slot="operator" v-if="hasPerm('WmsContainer:add')" >
+		<div ref="actionBar" class="actionBar">
+			<a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
+            瀵煎叆
+          </a-button>
+          <a-button type="info" v-if="hasPerm('WmsContainer:exportExcel')" icon="download" @click="WmsContainerToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsContainer:add')" icon="plus" @click="$refs.addForm.add()">鏂板瀹瑰櫒淇℃伅</a-button>
+		</div>
+		</template>
+		  <span slot="isDisabledscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="action" slot-scope="text, record">
+			
+			<a v-if="hasPerm('WmsContainer:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsContainer:edit') & hasPerm('WmsContainer:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsContainer:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsContainerDelete(record)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </s-table>
+      <add-form ref="addForm" @ok="handleOk" />
+      <edit-form ref="editForm" @ok="handleOk" />
+	  <excel-form ref="excelForm" @ok="handleOk" />
+    </a-card>
+  </div>
+</template>
+<script>
+	import { STable } from '@/components'
+	import moment from 'moment'
+	import { WmsContainerPage, WmsContainerDelete, WmsContainerToExcel } from '@/api/modular/main/WmsBase/WmsContainerManage'
+	//鑷畾涔塼able楂樺害
+	import setTableHtMixin from '@/mixins/handleTableHt.js'
+	import addForm from './addForm.vue'
+	import { exportExcel } from '@/utils/exportToExcel'
+	import { downloadFile } from '@/utils/util'
+	import editForm from './editForm.vue'
+	import excelForm from './excelForm.vue'
+	export default {
+	mixins: [setTableHtMixin],
+	components: {
+	STable,
+	addForm,
+	editForm,
+	excelForm
+	},
+	data () {
+	return {
+	advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+	queryParam: {},
+	 pageInfo: {
+        current: 1,
+        pageSize: 10
+      },
+	columns: [
+	{
+	title:'搴忓彿',
+	width: '60px',
+	align: 'center',
+	customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+	},
+	{
+	title: '缂栧彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'containerCode'
+	},
+	{
+	title: '鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'containerName'
+	},
+	{
+	title: '绫诲瀷ID',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'containerTypeId'
+	},
+	{
+	title: '绫诲瀷鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'containerTypeName'
+	},
+	{
+	title: '瀹瑰櫒鍏崇郴ID',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'packagingId'
+	},
+	{
+	title: '闀垮害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'specLength'
+	},
+	{
+	title: '瀹藉害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'specWidth'
+	},
+	{
+	title: '楂樺害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'specHeight'
+	},
+	{
+	title: '闄愰暱',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'limitLength'
+	},
+	{
+	title: '闄愬',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'limitWidth'
+	},
+	{
+	title: '闄愰珮',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'limitHeight'
+	},
+	{
+	title: '杞介噸涓婇檺',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'maxWeight'
+	},
+	{
+	title: '鐖跺鍣ㄥ悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'parentContainerName'
+	},
+	{
+	title: '鐖跺鍣↖d',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'parentContainerId'
+	},
+	{
+	title: '鏄惁铏氭嫙',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isVirtually'
+	},
+	{
+	title: '鏄惁绂佺敤',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isDisabled',
+	scopedSlots: { customRender: 'isDisabledscopedSlots' }
+	},
+	{
+	title: '鍒涘缓鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdTime'
+	},
+	{
+	title: '鏇存柊鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedTime'
+	},
+	{
+	title: '鍒涘缓鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdUserName'
+	},
+	{
+	title: '淇敼鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedUserName'
+	}
+	],
+	tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+	// 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+	loadData: parameter => {
+	return WmsContainerPage(Object.assign(parameter, this.switchingDate())).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsContainer:edit') || this.hasPerm('WmsContainer:delete')) {
+	this.columns.push({
+	title: '鎿嶄綔',
+	width: '150px',
+	dataIndex: 'action',
+	scopedSlots: { customRender: 'action' }
+	})
+	}
+	const path = this.$route.path
+	const columnStr = window.localStorage.getItem(path)
+	if(columnStr) {
+	var _columns = JSON.parse(columnStr)
+	this.columns.forEach(element => {
+	var fObj = _columns.find((item, index) => {
+	return item.dataIndex === element.dataIndex;
+	})
+	if(fObj!=undefined && fObj!=null){
+	element.checked=fObj.checked;
+	}
+	});
+	}
+	const isDisabledOption = this.$options
+	this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	window.addEventListener(
+	'resize',
+	() => {
+	this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+	},
+	false
+	)
+	
+	},
+	methods: {
+	moment,
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsContainerDelete (record) {
+	WmsContainerDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
+
+
+	WmsContainerToExcel() {
+	this.loading = true
+	let entozh = {};
+	const path = this.$route.path;
+	if (window.localStorage.getItem(path)) {
+	JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+	if (item.dataIndex != 'action' && item.checked) {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	} else { //鐩存帴鐐瑰鍑�
+	this.columns.forEach(item => {
+	if (item.dataIndex != 'action') {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	}
+	WmsContainerPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
+	this.loading = false;
+	//闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+	var arrDataCutout = this.columns.filter(v => v.customCutout == true);
+	res.data.rows.forEach(item => {
+	var arrKeys = Object.keys(item);
+	arrKeys.forEach(key => {
+	var strFieldDic = key + 'Data';
+	//鏋氫妇杞��
+	if (this[strFieldDic] && this[strFieldDic].length > 0) {
+	let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
+	if (arrFieldDic.length > 0) {
+	item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
+	}
+	}
+	// 鏃ユ湡鎴彇
+	if (arrDataCutout.length > 0) {
+	arrDataCutout.forEach(itemIn => {
+	if (key == itemIn.dataIndex && item[key]) {
+	item[key] = item[key].split(" ")[0]
+	}
+	})
+	}
+	});
+	})
+	exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
+	}).catch((err) => {
+	this.loading = false
+	this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+	})
+	},
+
+
+	toggleAdvanced () {
+	this.advanced = !this.advanced
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	onChangecreatedTime(date, dateString) {
+	  this.queryParam.createdTime = dateString
+	},
+	onChangeupdatedTime(date, dateString) {
+	  this.queryParam.updatedTime = dateString
+	},
+	handleOk () {
+	this.$refs.table.refresh()
+	},
+	onSelectChange (selectedRowKeys, selectedRows) {
+	this.selectedRowKeys = selectedRowKeys
+	this.selectedRows = selectedRows
+	}
+	}
+	}
+</script>
+<style lang="less">
+  .table-operator {
+    margin-bottom: 18px;
+  }
+  button {
+    margin-right: 8px;
+  }
+</style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue
index 569f83d..51ccb0b 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/addForm.vue
@@ -1,6 +1,6 @@
 锘�<template>
   <a-modal
-    title="鏂板鍖呰鍏崇郴鍩虹琛�"
+    title="鏂板瀹瑰櫒鍏崇郴"
     :width="900"
     :visible="visible"
     :confirmLoading="confirmLoading"
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue
index 175ad58..474d889 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/editForm.vue
@@ -1,6 +1,6 @@
 锘�<template>
   <a-modal
-    title="缂栬緫鍖呰鍏崇郴鍩虹琛�"
+    title="缂栬緫瀹瑰櫒鍏崇郴"
     :width="900"
     :visible="visible"
     :confirmLoading="confirmLoading"
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue
index 3bc1547..589f476 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerPackaging/index.vue
@@ -100,7 +100,7 @@
           <a-button type="info" v-if="hasPerm('WmsContainerPackaging:exportExcel')" icon="download" @click="WmsContainerPackagingToExcel()">
             瀵煎嚭
           </a-button>
-			<a-button type="primary" v-if="hasPerm('WmsContainerPackaging:add')" icon="plus" @click="$refs.addForm.add()">鏂板鍖呰鍏崇郴鍩虹琛�</a-button>
+			<a-button type="primary" v-if="hasPerm('WmsContainerPackaging:add')" icon="plus" @click="$refs.addForm.add()">鏂板瀹瑰櫒鍏崇郴</a-button>
 		</div>
 		</template>
 		  <span slot="action" slot-scope="text, record">
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue
new file mode 100644
index 0000000..01ac719
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/addForm.vue
@@ -0,0 +1,100 @@
+锘�<template>
+  <a-modal
+    title="鏂板瀹瑰櫒绫诲瀷"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+		<a-form :form="form">
+        <a-form-item label="绫诲瀷缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�" v-decorator="['typeCode', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['typeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鏄惁鍥炴敹" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAllowReclaim',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁鍥炴敹锛�' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ崟浣�" v-decorator="['unit', {rules: [{required: true, message: '璇疯緭鍏ュ崟浣嶏紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="浣跨敤鏈熼檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�" v-decorator="['usagePeriod']" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import {
+  WmsContainerTypeAdd
+  } from '@/api/modular/main/WmsBase/WmsContainerTypeManage'
+  export default {
+  data () {
+  return {
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      add (record) {
+        this.visible = true
+        this.$nextTick(() => {
+
+        });
+      },
+      /**
+       * 鎻愪氦琛ㄥ崟
+       */
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+              }
+            }
+            WmsContainerTypeAdd(values).then((res) => {
+              if (res.success) {
+                this.$message.success('鏂板鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', values)
+                this.handleCancel()
+              } else {
+                this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          } else {
+            this.confirmLoading = false
+          }
+        })
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue
new file mode 100644
index 0000000..1dd1d18
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/editForm.vue
@@ -0,0 +1,119 @@
+锘�<template>
+  <a-modal
+    title="缂栬緫瀹瑰櫒绫诲瀷"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-form-item label="绫诲瀷缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�" v-decorator="['typeCode', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['typeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鏄惁鍥炴敹" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAllowReclaim',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁鍥炴敹锛�' }], valuePropName: 'checked'}]" />
+        </a-form-item>
+        <a-form-item label="鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ崟浣�" v-decorator="['unit', {rules: [{required: true, message: '璇疯緭鍏ュ崟浣嶏紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="浣跨敤鏈熼檺" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�" v-decorator="['usagePeriod']" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import moment from 'moment'
+  import {
+  WmsContainerTypeEdit
+  } from '@/api/modular/main/WmsBase/WmsContainerTypeManage'
+  export default {
+  data () {
+  return {
+  Id: 0,
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+  record: {},
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      edit (record) {
+        this.visible = true;
+		this.Id = record.id;
+        this.$nextTick(() => {
+        });
+        //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔�
+        this.record = JSON.parse(JSON.stringify(record))
+        this.$nextTick(() => {
+          this.form.setFieldsValue(
+            {
+              id: record.id,
+              typeCode: record.typeCode,
+              typeName: record.typeName,
+              isAllowReclaim: record.isAllowReclaim,
+              unit: record.unit,
+              usagePeriod: record.usagePeriod,
+              isDisabled: record.isDisabled
+            }
+          )
+        })
+      },
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (values[key] == null) continue
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+                 this.record[key] = values[key]
+              } else {
+                 this.record[key] = values[key]
+              }
+            }
+            WmsContainerTypeEdit(this.record).then((res) => {
+              if (res.success) {
+                this.$message.success('缂栬緫鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', this.record)
+                this.handleCancel()
+              } else {
+                this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          }else{
+            this.confirmLoading = false
+          } 
+        });
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue
new file mode 100644
index 0000000..2ca3bc9
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/excelForm.vue
@@ -0,0 +1,181 @@
+锘�<template>
+  <a-modal
+    :width="850"
+    :destroyOnClose="true"
+    :visible="visible"
+    :forceRender="true"
+    title="鎵归噺瀵煎叆"
+    cancelText="鍙栨秷涓婁紶"
+    okText="寮�濮嬩笂浼�"
+    @cancel="handleCancel"
+    @ok="handleSubmit">
+    <a-spin :spinning="confirmLoading">
+      <a-row :span="24">
+        <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span>
+      </a-row>
+      <p></p>
+      <a-row>
+        <a-col :span="16">
+          <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload">
+            <a-icon style="font-size: 40px;" type="cloud-upload" />
+          </a-upload-dragger>
+        </a-col>
+        <!--<a-col :span="8">
+          <span>瀵煎叆妯″紡锛�</span>
+          <a-select
+            style="width: 130px"
+            placeholder="璇烽�夋嫨瀵煎叆妯″紡"
+            v-model="importExcelType">
+            <a-select-option
+              v-for="(item,index) in importExcelTypeData"
+              :key="index"
+              :value="item.code">{{ item.name }}
+            </a-select-option>
+          </a-select>
+        </a-col>-->
+      </a-row>
+      <a-row :span="24">
+        <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed">
+          鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰
+        </a-button>-->
+        <span>銆�</span>
+        <a-button style="width: 90px;text-align: left;" @click="wmsContainerTypeDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶
+        <span>銆�</span>
+        <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed">
+          鏀惰捣
+        </a-button>
+      </a-row>
+      <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24">
+        <a-breadcrumb>
+          <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item>
+        </a-breadcrumb>
+      </a-row>
+      <pre v-show="detailed">
+        <div v-html="demandText"></div>
+      </pre>
+      <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table>
+      <pre v-show="detailed">
+        <div v-html="columnText"></div>
+      </pre>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util'
+
+  import { WmsContainerTypeImportExcel, WmsContainerTypeDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsContainerTypeManage'
+  import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage'
+  export default {
+  components: {
+  },
+  data() {
+  return {
+  visible: false,
+  detailed: false,
+  confirmLoading: false,
+  fileList: [],
+  importExcelTypeData: [],
+  importExcelType: '1',
+  uploadFile: null,
+  columns: [],
+  dataList: [],
+  demandText:'',
+  columnText: ''
+  }
+  },
+  methods: {
+  index() {
+  this.visible = true;
+  this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type')
+  this.demandText = parseDemandText("wmsContainerTypeDownloadExcelTemplate")
+  window.downloadFile = this.wmsContainerTypeDownloadExcelTemplate;
+  this.getTable();
+  },
+  showDemand() {
+  this.detailed = !this.detailed;
+  },
+  customRequest(document) {
+  this.uploadFile = document
+  },
+  getTable() {
+  sysExcelTemplateGetColumnList({className: "WmsContainerType"}).then(res =>
+  {
+  if (res.success) {
+  this.columns =[];
+  this.dataList = [{}];
+  res.data.forEach(x => {
+  this.columns.push({
+  dataIndex: x.columnName,
+  key: x.columnName,
+  title: x.columnComment
+  });
+  this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�"
+  });
+  this.columnText = parseExcelFieldText(res.data);
+  }
+  });
+  },
+  beforeUpload(fileInfo) {
+  let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']);
+  if (!res.success) {
+  this.$message.warning(res.msg)
+  return false
+  }
+  setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000)
+  },
+  handleChange(fileInfo) {
+  if (fileInfo.file.status === 'error') {
+  fileInfo.fileList.splice(0, 1)
+  }
+  if (fileInfo.file.status === 'done') {
+  if (fileInfo.fileList.length > 1) {
+  fileInfo.fileList.splice(0, 1)
+  }
+  this.fileList = fileInfo.file
+  }
+  },
+  handleSubmit() {
+  this.confirmLoading = true
+  const formData = new FormData()
+  formData.append('file', this.uploadFile.file)
+  WmsContainerTypeImportExcel(formData, {importExcelType: this.importExcelType}).then(res => {
+  this.$message.success('鎿嶄綔鎴愬姛')
+  this.confirmLoading = false
+  this.$emit('ok', [])
+  this.handleCancel()
+  }).finally((res)=>{this.confirmLoading = false})
+  },
+  handleCancel() {
+  this.visible = false
+  this.detailed = false
+  },
+  wmsContainerTypeDownloadExcelTemplate() {
+  WmsContainerTypeDownloadExcelTemplate({version: "v2"}).then((res) => {
+  downloadFile(res);
+  }).catch((err) => {
+  this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+  })
+  }
+  }
+  }
+</script>
+
+<style scoped>
+::v-deep .ant-upload.ant-upload-drag {
+  position: relative;
+  width: 140px;
+  height: 135px;
+  text-align: center;
+  background: #fafafa;
+  border: 1px dashed #d9d9d9;
+  border-radius: 2px;
+  cursor: pointer;
+  -webkit-transition: border-color 0.3s;
+  transition: border-color 0.3s;
+}
+::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) {
+  color: #ffc53d;
+  border-color: white;
+}
+</style>
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue
new file mode 100644
index 0000000..529e529
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsContainerType/index.vue
@@ -0,0 +1,528 @@
+锘�<template>
+  <div ref="boxOutWrap" class="boxOutWrap">
+	<div ref="boxForm" class="boxForm">  
+    <a-card :bordered="false" :bodyStyle="tstyle">
+
+      <div class="table-page-search-wrapper" v-if="hasPerm('WmsContainerType:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="绫诲瀷缂栧彿">
+                <a-input v-model="queryParam.typeCode" allow-clear placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="绫诲瀷鍚嶇О">
+                <a-input v-model="queryParam.typeName" allow-clear placeholder="璇疯緭鍏ョ被鍨嬪悕绉�"/>
+              </a-form-item>
+            </a-col><template v-if="advanced">
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁鍥炴敹">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAllowReclaim" placeholder="璇烽�夋嫨鏄惁鍥炴敹">
+						<a-select-option v-for="(item,index) in isAllowReclaimData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍗曚綅">
+                  <a-input v-model="queryParam.unit" allow-clear placeholder="璇疯緭鍏ュ崟浣�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="浣跨敤鏈熼檺">
+                  <a-input v-model="queryParam.usagePeriod" allow-clear placeholder="璇疯緭鍏ヤ娇鐢ㄦ湡闄�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁绂佺敤">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+						<a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鍒涘缓鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangecreatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鏇存柊鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangeupdatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍒涘缓鑰呭悕绉�">
+                  <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="淇敼鑰呭悕绉�">
+                  <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
+                </a-form-item>
+              </a-col>	</template>
+
+            <a-col :md="8" :sm="24" >
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button>
+                <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button>
+                <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                </a>
+              </span>
+            </a-col>
+
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+	</div>
+    <a-card :bordered="false">
+      <s-table
+        ref="table"
+        :columns="columns"
+        :data="loadData"
+        :alert="true"
+		@changeTablePage="pageInfo = $event"
+		:scroll="{x: true,y:tableHeight}"
+        :rowKey="(record) => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+        <template class="table-operator" slot="operator" v-if="hasPerm('WmsContainerType:add')" >
+		<div ref="actionBar" class="actionBar">
+			<a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
+            瀵煎叆
+          </a-button>
+          <a-button type="info" v-if="hasPerm('WmsContainerType:exportExcel')" icon="download" @click="WmsContainerTypeToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsContainerType:add')" icon="plus" @click="$refs.addForm.add()">鏂板瀹瑰櫒绫诲瀷</a-button>
+		</div>
+		</template>
+		  <span slot="isAllowReclaimscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isDisabledscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="action" slot-scope="text, record">
+			
+			<a v-if="hasPerm('WmsContainerType:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsContainerType:edit') & hasPerm('WmsContainerType:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsContainerType:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsContainerTypeDelete(record)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </s-table>
+      <add-form ref="addForm" @ok="handleOk" />
+      <edit-form ref="editForm" @ok="handleOk" />
+	  <excel-form ref="excelForm" @ok="handleOk" />
+    </a-card>
+  </div>
+</template>
+<script>
+	import { STable } from '@/components'
+	import moment from 'moment'
+	import { WmsContainerTypePage, WmsContainerTypeDelete, WmsContainerTypeToExcel } from '@/api/modular/main/WmsBase/WmsContainerTypeManage'
+	//鑷畾涔塼able楂樺害
+	import setTableHtMixin from '@/mixins/handleTableHt.js'
+	import addForm from './addForm.vue'
+	import { exportExcel } from '@/utils/exportToExcel'
+	import { downloadFile } from '@/utils/util'
+	import editForm from './editForm.vue'
+	import excelForm from './excelForm.vue'
+	export default {
+	mixins: [setTableHtMixin],
+	components: {
+	STable,
+	addForm,
+	editForm,
+	excelForm
+	},
+	data () {
+	return {
+	advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+	queryParam: {},
+	 pageInfo: {
+        current: 1,
+        pageSize: 10
+      },
+	columns: [
+	{
+	title:'搴忓彿',
+	width: '60px',
+	align: 'center',
+	customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+	},
+	{
+	title: '绫诲瀷缂栧彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'typeCode'
+	},
+	{
+	title: '绫诲瀷鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'typeName'
+	},
+	{
+	title: '鏄惁鍥炴敹',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isAllowReclaim',
+	scopedSlots: { customRender: 'isAllowReclaimscopedSlots' }
+	},
+	{
+	title: '鍗曚綅',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'unit'
+	},
+	{
+	title: '浣跨敤鏈熼檺',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'usagePeriod'
+	},
+	{
+	title: '鏄惁绂佺敤',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isDisabled',
+	scopedSlots: { customRender: 'isDisabledscopedSlots' }
+	},
+	{
+	title: '鍒涘缓鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdTime'
+	},
+	{
+	title: '鏇存柊鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedTime'
+	},
+	{
+	title: '鍒涘缓鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdUserName'
+	},
+	{
+	title: '淇敼鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedUserName'
+	}
+	],
+	tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+	// 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+	loadData: parameter => {
+	return WmsContainerTypePage(Object.assign(parameter, this.switchingDate())).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsContainerType:edit') || this.hasPerm('WmsContainerType:delete')) {
+	this.columns.push({
+	title: '鎿嶄綔',
+	width: '150px',
+	dataIndex: 'action',
+	scopedSlots: { customRender: 'action' }
+	})
+	}
+	const path = this.$route.path
+	const columnStr = window.localStorage.getItem(path)
+	if(columnStr) {
+	var _columns = JSON.parse(columnStr)
+	this.columns.forEach(element => {
+	var fObj = _columns.find((item, index) => {
+	return item.dataIndex === element.dataIndex;
+	})
+	if(fObj!=undefined && fObj!=null){
+	element.checked=fObj.checked;
+	}
+	});
+	}
+	const isAllowReclaimOption = this.$options
+	this.isAllowReclaimData = isAllowReclaimOption.filters['dictData']('yes_true_false')
+	const isDisabledOption = this.$options
+	this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	window.addEventListener(
+	'resize',
+	() => {
+	this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+	},
+	false
+	)
+	
+	},
+	methods: {
+	moment,
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsContainerTypeDelete (record) {
+	WmsContainerTypeDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
+
+
+	WmsContainerTypeToExcel() {
+	this.loading = true
+	let entozh = {};
+	const path = this.$route.path;
+	if (window.localStorage.getItem(path)) {
+	JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+	if (item.dataIndex != 'action' && item.checked) {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	} else { //鐩存帴鐐瑰鍑�
+	this.columns.forEach(item => {
+	if (item.dataIndex != 'action') {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	}
+	WmsContainerTypePage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
+	this.loading = false;
+	//闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+	var arrDataCutout = this.columns.filter(v => v.customCutout == true);
+	res.data.rows.forEach(item => {
+	var arrKeys = Object.keys(item);
+	arrKeys.forEach(key => {
+	var strFieldDic = key + 'Data';
+	//鏋氫妇杞��
+	if (this[strFieldDic] && this[strFieldDic].length > 0) {
+	let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
+	if (arrFieldDic.length > 0) {
+	item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
+	}
+	}
+	// 鏃ユ湡鎴彇
+	if (arrDataCutout.length > 0) {
+	arrDataCutout.forEach(itemIn => {
+	if (key == itemIn.dataIndex && item[key]) {
+	item[key] = item[key].split(" ")[0]
+	}
+	})
+	}
+	});
+	})
+	exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
+	}).catch((err) => {
+	this.loading = false
+	this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+	})
+	},
+
+
+	toggleAdvanced () {
+	this.advanced = !this.advanced
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	onChangecreatedTime(date, dateString) {
+	  this.queryParam.createdTime = dateString
+	},
+	onChangeupdatedTime(date, dateString) {
+	  this.queryParam.updatedTime = dateString
+	},
+	handleOk () {
+	this.$refs.table.refresh()
+	},
+	onSelectChange (selectedRowKeys, selectedRows) {
+	this.selectedRowKeys = selectedRowKeys
+	this.selectedRows = selectedRows
+	}
+	}
+	}
+</script>
+<style lang="less">
+  .table-operator {
+    margin-bottom: 18px;
+  }
+  button {
+    margin-right: 8px;
+  }
+</style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue
index bf492da..717217b 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/addForm.vue
@@ -1,6 +1,6 @@
 锘�<template>
   <a-modal
-    title="鏂板宸ュ巶淇℃伅琛�"
+    title="鏂板宸ュ巶淇℃伅"
     :width="900"
     :visible="visible"
     :confirmLoading="confirmLoading"
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue
index ce873f0..a9128a7 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/editForm.vue
@@ -1,6 +1,6 @@
 锘�<template>
   <a-modal
-    title="缂栬緫宸ュ巶淇℃伅琛�"
+    title="缂栬緫宸ュ巶淇℃伅"
     :width="900"
     :visible="visible"
     :confirmLoading="confirmLoading"
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue
index e7dc390..9f5f938 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsFactory/index.vue
@@ -1,500 +1,463 @@
 锘�<template>
   <div ref="boxOutWrap" class="boxOutWrap">
-    <div ref="boxForm" class="boxForm">
-      <a-card :bordered="false" :bodyStyle="tstyle">
-        <div class="table-page-search-wrapper" v-if="hasPerm('WmsFactory:page')">
-          <a-form layout="inline">
-            <a-row :gutter="48">
+	<div ref="boxForm" class="boxForm">  
+    <a-card :bordered="false" :bodyStyle="tstyle">
+
+      <div class="table-page-search-wrapper" v-if="hasPerm('WmsFactory:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="缂栧彿">
+                <a-input v-model="queryParam.factoryCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="鍚嶇О">
+                <a-input v-model="queryParam.factoryName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/>
+              </a-form-item>
+            </a-col><template v-if="advanced">
               <a-col :md="8" :sm="24">
-                <a-form-item label="缂栧彿">
-                  <a-input v-model="queryParam.factoryCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�" />
+                <a-form-item label="鍦板潃">
+                  <a-input v-model="queryParam.factoryAddress" allow-clear placeholder="璇疯緭鍏ュ湴鍧�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁绂佺敤">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+						<a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鍒涘缓鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangecreatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鏇存柊鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangeupdatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍒涘缓鑰呭悕绉�">
+                  <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
                 </a-form-item>
               </a-col>
               <a-col :md="8" :sm="24">
-                <a-form-item label="鍚嶇О">
-                  <a-input v-model="queryParam.factoryName" allow-clear placeholder="璇疯緭鍏ュ悕绉�" />
-                </a-form-item> </a-col
-              ><template v-if="advanced">
-                <a-col :md="8" :sm="24">
-                  <a-form-item label="鍦板潃">
-                    <a-input v-model="queryParam.factoryAddress" allow-clear placeholder="璇疯緭鍏ュ湴鍧�" />
-                  </a-form-item>
-                </a-col>
-                <a-col :md="8" :sm="24">
-                  <a-form-item label="鏄惁绂佺敤">
-                    <a-select
-                      :allowClear="true"
-                      style="width: 100%"
-                      v-model="queryParam.isDisabled"
-                      placeholder="璇烽�夋嫨鏄惁绂佺敤"
-                    >
-                      <a-select-option v-for="(item, index) in isDisabledData" :key="index" :value="item.code">{{
-                        item.name
-                      }}</a-select-option>
-                    </a-select>
-                  </a-form-item>
-                </a-col>
-                <!--骞存湀鏃ユ椂鍒嗙-->
-                <!--鏃堕棿鑼冨洿-->
+                <a-form-item label="淇敼鑰呭悕绉�">
+                  <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
+                </a-form-item>
+              </a-col>	</template>
 
-                <a-col :md="8" :sm="24">
-                  <a-form-item label="鍒涘缓鏃堕棿">
-                    <a-range-picker
-                      style="width: 100%"
-                      :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"
-                      :show-time="{
-                        format: 'HH:mm:ss',
-                        defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')]
-                      }"
-                      v-model="queryParam.createdTime"
-                      value-format="YYYY-MM-DD HH:mm:ss"
-                      format="YYYY-MM-DD HH:mm:ss"
-                      @change="onChangecreatedTime"
-                    />
-                  </a-form-item>
-                </a-col>
-                <!--骞存湀鏃ユ椂鍒嗙-->
-                <!--鏃堕棿鑼冨洿-->
+            <a-col :md="8" :sm="24" >
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button>
+                <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button>
+                <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                </a>
+              </span>
+            </a-col>
 
-                <a-col :md="8" :sm="24">
-                  <a-form-item label="鏇存柊鏃堕棿">
-                    <a-range-picker
-                      style="width: 100%"
-                      :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"
-                      :show-time="{
-                        format: 'HH:mm:ss',
-                        defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')]
-                      }"
-                      v-model="queryParam.updatedTime"
-                      value-format="YYYY-MM-DD HH:mm:ss"
-                      format="YYYY-MM-DD HH:mm:ss"
-                      @change="onChangeupdatedTime"
-                    />
-                  </a-form-item>
-                </a-col>
-
-                <a-col :md="8" :sm="24">
-                  <a-form-item label="鍒涘缓鑰呭悕绉�">
-                    <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�" />
-                  </a-form-item>
-                </a-col>
-                <a-col :md="8" :sm="24">
-                  <a-form-item label="淇敼鑰呭悕绉�">
-                    <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�" />
-                  </a-form-item>
-                </a-col>
-              </template>
-
-              <a-col :md="8" :sm="24">
-                <span class="table-page-search-submitButtons">
-                  <a-button type="primary" @click="$refs.table.refresh(true)">鏌ヨ</a-button>
-                  <a-button style="margin-left: 8px" @click="() => (queryParam = {})">閲嶇疆</a-button>
-                  <a @click="toggleAdvanced" style="margin-left: 8px">
-                    {{ advanced ? '鏀惰捣' : '灞曞紑' }}
-                    <a-icon :type="advanced ? 'up' : 'down'" />
-                  </a>
-                </span>
-              </a-col>
-            </a-row>
-          </a-form>
-        </div>
-      </a-card>
-    </div>
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+	</div>
     <a-card :bordered="false">
       <s-table
         ref="table"
         :columns="columns"
         :data="loadData"
         :alert="true"
-        @changeTablePage="pageInfo = $event"
-        :scroll="{ x: true, y: tableHeight }"
-        :rowKey="record => record.id"
-        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
-      >
-        <template class="table-operator" slot="operator" v-if="hasPerm('WmsFactory:add')">
-          <div ref="actionBar" class="actionBar">
-            <a-button
-              type="info"
-              v-if="hasPerm('sysExcelTemplate:importExcel')"
-              icon="upload"
-              @click="$refs.excelForm.index()"
-            >
-              瀵煎叆
-            </a-button>
-            <a-button type="info" v-if="hasPerm('WmsFactory:exportExcel')" icon="download" @click="WmsFactoryToExcel()">
-              瀵煎嚭
-            </a-button>
-            <a-button type="primary" v-if="hasPerm('WmsFactory:add')" icon="plus" @click="$refs.addForm.add()"
-              >鏂板宸ュ巶淇℃伅琛�</a-button
-            >
-          </div>
-        </template>
-        <span slot="isDisabledscopedSlots" slot-scope="text">
-          <div v-if="text === true">
-            <a-tag color="green">鏄�</a-tag>
-          </div>
-          <div v-else-if="text == false">
-            <a-tag color="volcano">鍚�</a-tag>
-          </div>
-          <div v-else=""></div>
-        </span>
-        <span slot="action" slot-scope="text, record">
-          <a v-if="hasPerm('WmsFactory:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
-          <a-divider type="vertical" v-if="hasPerm('WmsFactory:edit') & hasPerm('WmsFactory:delete')" />
-          <a-popconfirm
-            v-if="hasPerm('WmsFactory:delete')"
-            placement="topRight"
-            title="纭鍒犻櫎锛�"
-            @confirm="() => WmsFactoryDelete(record)"
-          >
+		@changeTablePage="pageInfo = $event"
+		:scroll="{x: true,y:tableHeight}"
+        :rowKey="(record) => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+        <template class="table-operator" slot="operator" v-if="hasPerm('WmsFactory:add')" >
+		<div ref="actionBar" class="actionBar">
+			<a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
+            瀵煎叆
+          </a-button>
+          <a-button type="info" v-if="hasPerm('WmsFactory:exportExcel')" icon="download" @click="WmsFactoryToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsFactory:add')" icon="plus" @click="$refs.addForm.add()">鏂板宸ュ巶淇℃伅</a-button>
+		</div>
+		</template>
+		  <span slot="isDisabledscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="action" slot-scope="text, record">
+			
+			<a v-if="hasPerm('WmsFactory:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsFactory:edit') & hasPerm('WmsFactory:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsFactory:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsFactoryDelete(record)">
             <a>鍒犻櫎</a>
           </a-popconfirm>
         </span>
       </s-table>
       <add-form ref="addForm" @ok="handleOk" />
       <edit-form ref="editForm" @ok="handleOk" />
-      <excel-form ref="excelForm" @ok="handleOk" />
+	  <excel-form ref="excelForm" @ok="handleOk" />
     </a-card>
   </div>
 </template>
 <script>
-import { STable } from '@/components'
-import moment from 'moment'
-import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage'
-//鑷畾涔塼able楂樺害
-import setTableHtMixin from '@/mixins/handleTableHt.js'
-import addForm from './addForm.vue'
-import { exportExcel } from '@/utils/exportToExcel'
-import { downloadFile } from '@/utils/util'
-import editForm from './editForm.vue'
-import excelForm from './excelForm.vue'
-export default {
-  mixins: [setTableHtMixin],
-  components: {
-    STable,
-    addForm,
-    editForm,
-    excelForm
-  },
-  data() {
-    return {
-      advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
-      queryParam: {},
-      pageInfo: {
+	import { STable } from '@/components'
+	import moment from 'moment'
+	import { WmsFactoryPage, WmsFactoryDelete, WmsFactoryToExcel } from '@/api/modular/main/WmsBase/WmsFactoryManage'
+	//鑷畾涔塼able楂樺害
+	import setTableHtMixin from '@/mixins/handleTableHt.js'
+	import addForm from './addForm.vue'
+	import { exportExcel } from '@/utils/exportToExcel'
+	import { downloadFile } from '@/utils/util'
+	import editForm from './editForm.vue'
+	import excelForm from './excelForm.vue'
+	export default {
+	mixins: [setTableHtMixin],
+	components: {
+	STable,
+	addForm,
+	editForm,
+	excelForm
+	},
+	data () {
+	return {
+	advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+	queryParam: {},
+	 pageInfo: {
         current: 1,
         pageSize: 10
       },
-      columns: [
-        {
-          title: '搴忓彿',
-          width: '60px',
-          align: 'center',
-          customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
-        },
-        {
-          title: '缂栧彿',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'factoryCode'
-        },
-        {
-          title: '鍚嶇О',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'factoryName'
-        },
-        {
-          title: '鍦板潃',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'factoryAddress'
-        },
-        {
-          title: '鏄惁绂佺敤',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'isDisabled',
-          scopedSlots: { customRender: 'isDisabledscopedSlots' }
-        },
-        {
-          title: '鍒涘缓鏃堕棿',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'createdTime'
-        },
-        {
-          title: '鏇存柊鏃堕棿',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'updatedTime'
-        },
-        {
-          title: '鍒涘缓鑰呭悕绉�',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'createdUserName'
-        },
-        {
-          title: '淇敼鑰呭悕绉�',
-          align: 'center',
-          customHeaderCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          customCell: () => {
-            return {
-              style: {
-                'min-width': '120px' //鏈�灏忓垪瀹借缃�
-              }
-            }
-          },
-          sorter: true,
-          dataIndex: 'updatedUserName'
-        }
-      ],
-      tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
-      // 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
-      loadData: parameter => {
-        return WmsFactoryPage(Object.assign(parameter, this.switchingDate())).then(res => {
-          return res.data
-        })
-      },
-      selectedRowKeys: [],
-      selectedRows: []
-    }
-  },
-  created() {
-    if (this.hasPerm('WmsFactory:edit') || this.hasPerm('WmsFactory:delete')) {
-      this.columns.push({
-        title: '鎿嶄綔',
-        width: '150px',
-        dataIndex: 'action',
-        scopedSlots: { customRender: 'action' }
-      })
-    }
-    const path = this.$route.path
-    const columnStr = window.localStorage.getItem(path)
-    if (columnStr) {
-      var _columns = JSON.parse(columnStr)
-      this.columns.forEach(element => {
-        var fObj = _columns.find((item, index) => {
-          return item.dataIndex === element.dataIndex
-        })
-        if (fObj != undefined && fObj != null) {
-          element.checked = fObj.checked
-        }
-      })
-    }
-    const isDisabledOption = this.$options
-    this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+	columns: [
+	{
+	title:'搴忓彿',
+	width: '60px',
+	align: 'center',
+	customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+	},
+	{
+	title: '缂栧彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'factoryCode'
+	},
+	{
+	title: '鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'factoryName'
+	},
+	{
+	title: '鍦板潃',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'factoryAddress'
+	},
+	{
+	title: '鏄惁绂佺敤',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isDisabled',
+	scopedSlots: { customRender: 'isDisabledscopedSlots' }
+	},
+	{
+	title: '鍒涘缓鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdTime'
+	},
+	{
+	title: '鏇存柊鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedTime'
+	},
+	{
+	title: '鍒涘缓鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdUserName'
+	},
+	{
+	title: '淇敼鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedUserName'
+	}
+	],
+	tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+	// 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+	loadData: parameter => {
+	return WmsFactoryPage(Object.assign(parameter, this.switchingDate())).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsFactory:edit') || this.hasPerm('WmsFactory:delete')) {
+	this.columns.push({
+	title: '鎿嶄綔',
+	width: '150px',
+	dataIndex: 'action',
+	scopedSlots: { customRender: 'action' }
+	})
+	}
+	const path = this.$route.path
+	const columnStr = window.localStorage.getItem(path)
+	if(columnStr) {
+	var _columns = JSON.parse(columnStr)
+	this.columns.forEach(element => {
+	var fObj = _columns.find((item, index) => {
+	return item.dataIndex === element.dataIndex;
+	})
+	if(fObj!=undefined && fObj!=null){
+	element.checked=fObj.checked;
+	}
+	});
+	}
+	const isDisabledOption = this.$options
+	this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
 
-    this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
-    window.addEventListener(
-      'resize',
-      () => {
-        this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
-      },
-      false
-    )
-  },
-  methods: {
-    moment,
-    /**
-     * 鏌ヨ鍙傛暟缁勮
-     */
-    switchingDate() {
-      const obj = JSON.parse(JSON.stringify(this.queryParam))
-      return obj
-    },
-    WmsFactoryDelete(record) {
-      WmsFactoryDelete(record).then(res => {
-        if (res.success) {
-          this.$message.success('鍒犻櫎鎴愬姛')
-          this.$refs.table.refresh()
-        } else {
-          this.$message.error('鍒犻櫎澶辫触') // + res.message
-        }
-      })
-    },
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	window.addEventListener(
+	'resize',
+	() => {
+	this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+	},
+	false
+	)
+	
+	},
+	methods: {
+	moment,
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsFactoryDelete (record) {
+	WmsFactoryDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
 
-    WmsFactoryToExcel() {
-      this.loading = true
-      let entozh = {}
-      const path = this.$route.path
-      if (window.localStorage.getItem(path)) {
-        JSON.parse(window.localStorage.getItem(path)).forEach(item => {
-          if (item.dataIndex != 'action' && item.checked) {
-            entozh[item.dataIndex] = item.title
-          }
-        })
-      } else {
-        //鐩存帴鐐瑰鍑�
-        this.columns.forEach(item => {
-          if (item.dataIndex != 'action') {
-            entozh[item.dataIndex] = item.title
-          }
-        })
-      }
-      WmsFactoryPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam))
-        .then(res => {
-          this.loading = false
-          //闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
-          var arrDataCutout = this.columns.filter(v => v.customCutout == true)
-          res.data.rows.forEach(item => {
-            var arrKeys = Object.keys(item)
-            arrKeys.forEach(key => {
-              var strFieldDic = key + 'Data'
-              //鏋氫妇杞��
-              if (this[strFieldDic] && this[strFieldDic].length > 0) {
-                let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]))
-                if (arrFieldDic.length > 0) {
-                  item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�'
-                }
-              }
-              // 鏃ユ湡鎴彇
-              if (arrDataCutout.length > 0) {
-                arrDataCutout.forEach(itemIn => {
-                  if (key == itemIn.dataIndex && item[key]) {
-                    item[key] = item[key].split(' ')[0]
-                  }
-                })
-              }
-            })
-          })
-          exportExcel(res.data.rows, entozh, 'xlsx', `${this.$route.meta.title}`)
-        })
-        .catch(err => {
-          this.loading = false
-          this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
-        })
-    },
 
-    toggleAdvanced() {
-      this.advanced = !this.advanced
-      this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
-    },
-    onChangecreatedTime(date, dateString) {
-      this.queryParam.createdTime = dateString
-    },
-    onChangeupdatedTime(date, dateString) {
-      this.queryParam.updatedTime = dateString
-    },
-    handleOk() {
-      this.$refs.table.refresh()
-    },
-    onSelectChange(selectedRowKeys, selectedRows) {
-      this.selectedRowKeys = selectedRowKeys
-      this.selectedRows = selectedRows
-    }
-  }
-}
+	WmsFactoryToExcel() {
+	this.loading = true
+	let entozh = {};
+	const path = this.$route.path;
+	if (window.localStorage.getItem(path)) {
+	JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+	if (item.dataIndex != 'action' && item.checked) {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	} else { //鐩存帴鐐瑰鍑�
+	this.columns.forEach(item => {
+	if (item.dataIndex != 'action') {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	}
+	WmsFactoryPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
+	this.loading = false;
+	//闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+	var arrDataCutout = this.columns.filter(v => v.customCutout == true);
+	res.data.rows.forEach(item => {
+	var arrKeys = Object.keys(item);
+	arrKeys.forEach(key => {
+	var strFieldDic = key + 'Data';
+	//鏋氫妇杞��
+	if (this[strFieldDic] && this[strFieldDic].length > 0) {
+	let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
+	if (arrFieldDic.length > 0) {
+	item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
+	}
+	}
+	// 鏃ユ湡鎴彇
+	if (arrDataCutout.length > 0) {
+	arrDataCutout.forEach(itemIn => {
+	if (key == itemIn.dataIndex && item[key]) {
+	item[key] = item[key].split(" ")[0]
+	}
+	})
+	}
+	});
+	})
+	exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
+	}).catch((err) => {
+	this.loading = false
+	this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+	})
+	},
+
+
+	toggleAdvanced () {
+	this.advanced = !this.advanced
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	onChangecreatedTime(date, dateString) {
+	  this.queryParam.createdTime = dateString
+	},
+	onChangeupdatedTime(date, dateString) {
+	  this.queryParam.updatedTime = dateString
+	},
+	handleOk () {
+	this.$refs.table.refresh()
+	},
+	onSelectChange (selectedRowKeys, selectedRows) {
+	this.selectedRowKeys = selectedRowKeys
+	this.selectedRows = selectedRows
+	}
+	}
+	}
 </script>
 <style lang="less">
-.table-operator {
-  margin-bottom: 18px;
-}
-button {
-  margin-right: 8px;
-}
+  .table-operator {
+    margin-bottom: 18px;
+  }
+  button {
+    margin-right: 8px;
+  }
 </style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue
new file mode 100644
index 0000000..d451407
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/addForm.vue
@@ -0,0 +1,190 @@
+锘�<template>
+  <a-modal
+    title="鏂板搴撲綅淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+		<a-form :form="form">
+        <a-form-item label="搴撲綅缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" v-decorator="['placeCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撲綅鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" v-decorator="['placeName', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撲綅鍒悕" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�" v-decorator="['placeAlias']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ簱浣嶇被鍨�" style="width: 100%" v-decorator="['placeType', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇被鍨嬶紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撲綅绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" v-decorator="['placeTypeName']" />
+        </a-form-item>
+        <a-form-item label="瀛樻斁鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ瓨鏀惧崟浣�" v-decorator="['stockUnit']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅灞炴��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ簱浣嶅睘鎬�" style="width: 100%" v-decorator="['placeStatus']" />
+        </a-form-item>
+        <a-form-item label="鏄惁鍫嗗灈鏈哄簱浣�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="鍫嗗灈鏈哄簱浣嶅彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ爢鍨涙満搴撲綅鍙�" v-decorator="['srmPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁RGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isRgvPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="RGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['rgvPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁AGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAgvPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="AGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['agvPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁杈撻�佺嚎搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isTransPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="杈撻�佺嚎搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヨ緭閫佺嚎搴撲綅鍙�" v-decorator="['transPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isActivateWCS', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="搴撳瓨鐜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱瀛樼幆澧�" v-decorator="['environment']" />
+        </a-form-item>
+        <a-form-item label="搴撳尯缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" v-decorator="['areaCode']" />
+        </a-form-item>
+        <a-form-item label="鎵�鍦ㄥ簱鍖�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" v-decorator="['areaId']" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName']" />
+        </a-form-item>
+        <a-form-item label="妫�楠岀爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ楠岀爜" v-decorator="['verificationCode']" />
+        </a-form-item>
+        <a-form-item label="鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ユ帓" style="width: 100%" v-decorator="['rowNo']" />
+        </a-form-item>
+        <a-form-item label="鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ垪" style="width: 100%" v-decorator="['columnNo']" />
+        </a-form-item>
+        <a-form-item label="灞�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ眰" style="width: 100%" v-decorator="['layerNo']" />
+        </a-form-item>
+        <a-form-item label="宸烽亾" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ贩閬�" style="width: 100%" v-decorator="['laneNo']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅X鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣" v-decorator="['xzb']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅Y鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣" v-decorator="['yzb']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅Z鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣" v-decorator="['zzb']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" v-decorator="['length']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶅搴�" v-decorator="['width']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" v-decorator="['height']" />
+        </a-form-item>
+        <a-form-item label="鏈�澶ф壙閲�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ渶澶ф壙閲�" v-decorator="['maxWeight']" />
+        </a-form-item>
+        <a-form-item label="鍏ュ簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ叆搴撻『搴�" style="width: 100%" v-decorator="['inSequence']" />
+        </a-form-item>
+        <a-form-item label="鍑哄簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ嚭搴撻『搴�" style="width: 100%" v-decorator="['outSequence']" />
+        </a-form-item>
+        <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import {
+  WmsPlaceAdd
+  } from '@/api/modular/main/WmsBase/WmsPlaceManage'
+  export default {
+  data () {
+  return {
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      add (record) {
+        this.visible = true
+        this.$nextTick(() => {
+
+        });
+      },
+      /**
+       * 鎻愪氦琛ㄥ崟
+       */
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+              }
+            }
+            WmsPlaceAdd(values).then((res) => {
+              if (res.success) {
+                this.$message.success('鏂板鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', values)
+                this.handleCancel()
+              } else {
+                this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          } else {
+            this.confirmLoading = false
+          }
+        })
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue
new file mode 100644
index 0000000..f66833a
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/editForm.vue
@@ -0,0 +1,239 @@
+锘�<template>
+  <a-modal
+    title="缂栬緫搴撲綅淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-form-item label="搴撲綅缂栫爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�" v-decorator="['placeCode', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撲綅鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶅悕绉�" v-decorator="['placeName', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶅悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撲綅鍒悕" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�" v-decorator="['placeAlias']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ簱浣嶇被鍨�" style="width: 100%" v-decorator="['placeType', {rules: [{required: true, message: '璇疯緭鍏ュ簱浣嶇被鍨嬶紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="搴撲綅绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�" v-decorator="['placeTypeName']" />
+        </a-form-item>
+        <a-form-item label="瀛樻斁鍗曚綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ瓨鏀惧崟浣�" v-decorator="['stockUnit']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅灞炴��" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ簱浣嶅睘鎬�" style="width: 100%" v-decorator="['placeStatus']" />
+        </a-form-item>
+        <a-form-item label="鏄惁鍫嗗灈鏈哄簱浣�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isSrmPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="鍫嗗灈鏈哄簱浣嶅彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ爢鍨涙満搴撲綅鍙�" v-decorator="['srmPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁RGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isRgvPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="RGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['rgvPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁AGV搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isAgvPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="AGV搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏GV搴撲綅鍙�" v-decorator="['agvPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁杈撻�佺嚎搴撲綅" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isTransPlace', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="杈撻�佺嚎搴撲綅鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ヨ緭閫佺嚎搴撲綅鍙�" v-decorator="['transPlaceNo']" />
+        </a-form-item>
+        <a-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isActivateWCS', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="搴撳瓨鐜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱瀛樼幆澧�" v-decorator="['environment']" />
+        </a-form-item>
+        <a-form-item label="搴撳尯缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�" v-decorator="['areaCode']" />
+        </a-form-item>
+        <a-form-item label="鎵�鍦ㄥ簱鍖�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�" v-decorator="['areaId']" />
+        </a-form-item>
+        <a-form-item label="搴撳尯鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱鍖哄悕绉�" v-decorator="['areaName']" />
+        </a-form-item>
+        <a-form-item label="妫�楠岀爜" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ楠岀爜" v-decorator="['verificationCode']" />
+        </a-form-item>
+        <a-form-item label="鎺�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ユ帓" style="width: 100%" v-decorator="['rowNo']" />
+        </a-form-item>
+        <a-form-item label="鍒�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ垪" style="width: 100%" v-decorator="['columnNo']" />
+        </a-form-item>
+        <a-form-item label="灞�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ眰" style="width: 100%" v-decorator="['layerNo']" />
+        </a-form-item>
+        <a-form-item label="宸烽亾" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ贩閬�" style="width: 100%" v-decorator="['laneNo']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅X鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣" v-decorator="['xzb']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅Y鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣" v-decorator="['yzb']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅Z鍧愭爣" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣" v-decorator="['zzb']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅闀垮害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶉暱搴�" v-decorator="['length']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅瀹藉害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶅搴�" v-decorator="['width']" />
+        </a-form-item>
+        <a-form-item label="搴撲綅楂樺害" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ簱浣嶉珮搴�" v-decorator="['height']" />
+        </a-form-item>
+        <a-form-item label="鏈�澶ф壙閲�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ渶澶ф壙閲�" v-decorator="['maxWeight']" />
+        </a-form-item>
+        <a-form-item label="鍏ュ簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ叆搴撻『搴�" style="width: 100%" v-decorator="['inSequence']" />
+        </a-form-item>
+        <a-form-item label="鍑哄簱椤哄簭" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input-number placeholder="璇疯緭鍏ュ嚭搴撻『搴�" style="width: 100%" v-decorator="['outSequence']" />
+        </a-form-item>
+        <a-form-item label="鏄惁铏氭嫙" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isVirtually', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import moment from 'moment'
+  import {
+  WmsPlaceEdit
+  } from '@/api/modular/main/WmsBase/WmsPlaceManage'
+  export default {
+  data () {
+  return {
+  Id: 0,
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+  record: {},
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      edit (record) {
+        this.visible = true;
+		this.Id = record.id;
+        this.$nextTick(() => {
+        });
+        //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔�
+        this.record = JSON.parse(JSON.stringify(record))
+        this.$nextTick(() => {
+          this.form.setFieldsValue(
+            {
+              id: record.id,
+              placeCode: record.placeCode,
+              placeName: record.placeName,
+              placeAlias: record.placeAlias,
+              placeType: record.placeType,
+              placeTypeName: record.placeTypeName,
+              stockUnit: record.stockUnit,
+              placeStatus: record.placeStatus,
+              isSrmPlace: record.isSrmPlace,
+              srmPlaceNo: record.srmPlaceNo,
+              isRgvPlace: record.isRgvPlace,
+              rgvPlaceNo: record.rgvPlaceNo,
+              isAgvPlace: record.isAgvPlace,
+              agvPlaceNo: record.agvPlaceNo,
+              isTransPlace: record.isTransPlace,
+              transPlaceNo: record.transPlaceNo,
+              isActivateWCS: record.isActivateWCS,
+              environment: record.environment,
+              areaCode: record.areaCode,
+              areaId: record.areaId,
+              areaName: record.areaName,
+              verificationCode: record.verificationCode,
+              rowNo: record.rowNo,
+              columnNo: record.columnNo,
+              layerNo: record.layerNo,
+              laneNo: record.laneNo,
+              xzb: record.xzb,
+              yzb: record.yzb,
+              zzb: record.zzb,
+              length: record.length,
+              width: record.width,
+              height: record.height,
+              maxWeight: record.maxWeight,
+              inSequence: record.inSequence,
+              outSequence: record.outSequence,
+              isVirtually: record.isVirtually,
+              isDisabled: record.isDisabled
+            }
+          )
+        })
+      },
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (values[key] == null) continue
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+                 this.record[key] = values[key]
+              } else {
+                 this.record[key] = values[key]
+              }
+            }
+            WmsPlaceEdit(this.record).then((res) => {
+              if (res.success) {
+                this.$message.success('缂栬緫鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', this.record)
+                this.handleCancel()
+              } else {
+                this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          }else{
+            this.confirmLoading = false
+          } 
+        });
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue
new file mode 100644
index 0000000..ee6612b
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/excelForm.vue
@@ -0,0 +1,181 @@
+锘�<template>
+  <a-modal
+    :width="850"
+    :destroyOnClose="true"
+    :visible="visible"
+    :forceRender="true"
+    title="鎵归噺瀵煎叆"
+    cancelText="鍙栨秷涓婁紶"
+    okText="寮�濮嬩笂浼�"
+    @cancel="handleCancel"
+    @ok="handleSubmit">
+    <a-spin :spinning="confirmLoading">
+      <a-row :span="24">
+        <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span>
+      </a-row>
+      <p></p>
+      <a-row>
+        <a-col :span="16">
+          <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload">
+            <a-icon style="font-size: 40px;" type="cloud-upload" />
+          </a-upload-dragger>
+        </a-col>
+        <!--<a-col :span="8">
+          <span>瀵煎叆妯″紡锛�</span>
+          <a-select
+            style="width: 130px"
+            placeholder="璇烽�夋嫨瀵煎叆妯″紡"
+            v-model="importExcelType">
+            <a-select-option
+              v-for="(item,index) in importExcelTypeData"
+              :key="index"
+              :value="item.code">{{ item.name }}
+            </a-select-option>
+          </a-select>
+        </a-col>-->
+      </a-row>
+      <a-row :span="24">
+        <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed">
+          鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰
+        </a-button>-->
+        <span>銆�</span>
+        <a-button style="width: 90px;text-align: left;" @click="wmsPlaceDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶
+        <span>銆�</span>
+        <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed">
+          鏀惰捣
+        </a-button>
+      </a-row>
+      <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24">
+        <a-breadcrumb>
+          <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item>
+        </a-breadcrumb>
+      </a-row>
+      <pre v-show="detailed">
+        <div v-html="demandText"></div>
+      </pre>
+      <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table>
+      <pre v-show="detailed">
+        <div v-html="columnText"></div>
+      </pre>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util'
+
+  import { WmsPlaceImportExcel, WmsPlaceDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsPlaceManage'
+  import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage'
+  export default {
+  components: {
+  },
+  data() {
+  return {
+  visible: false,
+  detailed: false,
+  confirmLoading: false,
+  fileList: [],
+  importExcelTypeData: [],
+  importExcelType: '1',
+  uploadFile: null,
+  columns: [],
+  dataList: [],
+  demandText:'',
+  columnText: ''
+  }
+  },
+  methods: {
+  index() {
+  this.visible = true;
+  this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type')
+  this.demandText = parseDemandText("wmsPlaceDownloadExcelTemplate")
+  window.downloadFile = this.wmsPlaceDownloadExcelTemplate;
+  this.getTable();
+  },
+  showDemand() {
+  this.detailed = !this.detailed;
+  },
+  customRequest(document) {
+  this.uploadFile = document
+  },
+  getTable() {
+  sysExcelTemplateGetColumnList({className: "WmsPlace"}).then(res =>
+  {
+  if (res.success) {
+  this.columns =[];
+  this.dataList = [{}];
+  res.data.forEach(x => {
+  this.columns.push({
+  dataIndex: x.columnName,
+  key: x.columnName,
+  title: x.columnComment
+  });
+  this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�"
+  });
+  this.columnText = parseExcelFieldText(res.data);
+  }
+  });
+  },
+  beforeUpload(fileInfo) {
+  let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']);
+  if (!res.success) {
+  this.$message.warning(res.msg)
+  return false
+  }
+  setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000)
+  },
+  handleChange(fileInfo) {
+  if (fileInfo.file.status === 'error') {
+  fileInfo.fileList.splice(0, 1)
+  }
+  if (fileInfo.file.status === 'done') {
+  if (fileInfo.fileList.length > 1) {
+  fileInfo.fileList.splice(0, 1)
+  }
+  this.fileList = fileInfo.file
+  }
+  },
+  handleSubmit() {
+  this.confirmLoading = true
+  const formData = new FormData()
+  formData.append('file', this.uploadFile.file)
+  WmsPlaceImportExcel(formData, {importExcelType: this.importExcelType}).then(res => {
+  this.$message.success('鎿嶄綔鎴愬姛')
+  this.confirmLoading = false
+  this.$emit('ok', [])
+  this.handleCancel()
+  }).finally((res)=>{this.confirmLoading = false})
+  },
+  handleCancel() {
+  this.visible = false
+  this.detailed = false
+  },
+  wmsPlaceDownloadExcelTemplate() {
+  WmsPlaceDownloadExcelTemplate({version: "v2"}).then((res) => {
+  downloadFile(res);
+  }).catch((err) => {
+  this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+  })
+  }
+  }
+  }
+</script>
+
+<style scoped>
+::v-deep .ant-upload.ant-upload-drag {
+  position: relative;
+  width: 140px;
+  height: 135px;
+  text-align: center;
+  background: #fafafa;
+  border: 1px dashed #d9d9d9;
+  border-radius: 2px;
+  cursor: pointer;
+  -webkit-transition: border-color 0.3s;
+  transition: border-color 0.3s;
+}
+::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) {
+  color: #ffc53d;
+  border-color: white;
+}
+</style>
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue
new file mode 100644
index 0000000..b63d919
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsPlace/index.vue
@@ -0,0 +1,1345 @@
+锘�<template>
+  <div ref="boxOutWrap" class="boxOutWrap">
+	<div ref="boxForm" class="boxForm">  
+    <a-card :bordered="false" :bodyStyle="tstyle">
+
+      <div class="table-page-search-wrapper" v-if="hasPerm('WmsPlace:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="搴撲綅缂栫爜">
+                <a-input v-model="queryParam.placeCode" allow-clear placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="搴撲綅鍚嶇О">
+                <a-input v-model="queryParam.placeName" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅悕绉�"/>
+              </a-form-item>
+            </a-col><template v-if="advanced">
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅鍒悕">
+                  <a-input v-model="queryParam.placeAlias" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅埆鍚�"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅绫诲瀷">
+                  <a-input-number v-model="queryParam.placeType" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ簱浣嶇被鍨�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅绫诲瀷鍚嶇О">
+                  <a-input v-model="queryParam.placeTypeName" allow-clear placeholder="璇疯緭鍏ュ簱浣嶇被鍨嬪悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="瀛樻斁鍗曚綅">
+                  <a-input v-model="queryParam.stockUnit" allow-clear placeholder="璇疯緭鍏ュ瓨鏀惧崟浣�"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅灞炴��">
+                  <a-input-number v-model="queryParam.placeStatus" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅睘鎬�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁鍫嗗灈鏈哄簱浣�">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isSrmPlace" placeholder="璇烽�夋嫨鏄惁鍫嗗灈鏈哄簱浣�">
+						<a-select-option v-for="(item,index) in isSrmPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍫嗗灈鏈哄簱浣嶅彿">
+                  <a-input v-model="queryParam.srmPlaceNo" allow-clear placeholder="璇疯緭鍏ュ爢鍨涙満搴撲綅鍙�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁RGV搴撲綅">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isRgvPlace" placeholder="璇烽�夋嫨鏄惁RGV搴撲綅">
+						<a-select-option v-for="(item,index) in isRgvPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+              <a-col :md="8" :sm="24">
+                <a-form-item label="RGV搴撲綅鍙�">
+                  <a-input v-model="queryParam.rgvPlaceNo" allow-clear placeholder="璇疯緭鍏GV搴撲綅鍙�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁AGV搴撲綅">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isAgvPlace" placeholder="璇烽�夋嫨鏄惁AGV搴撲綅">
+						<a-select-option v-for="(item,index) in isAgvPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+              <a-col :md="8" :sm="24">
+                <a-form-item label="AGV搴撲綅鍙�">
+                  <a-input v-model="queryParam.agvPlaceNo" allow-clear placeholder="璇疯緭鍏GV搴撲綅鍙�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁杈撻�佺嚎搴撲綅">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isTransPlace" placeholder="璇烽�夋嫨鏄惁杈撻�佺嚎搴撲綅">
+						<a-select-option v-for="(item,index) in isTransPlaceData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+              <a-col :md="8" :sm="24">
+                <a-form-item label="杈撻�佺嚎搴撲綅鍙�">
+                  <a-input v-model="queryParam.transPlaceNo" allow-clear placeholder="璇疯緭鍏ヨ緭閫佺嚎搴撲綅鍙�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁婵�娲讳笌浠诲姟璋冨害">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isActivateWCS" placeholder="璇烽�夋嫨鏄惁婵�娲讳笌浠诲姟璋冨害">
+						<a-select-option v-for="(item,index) in isActivateWCSData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撳瓨鐜">
+                  <a-input v-model="queryParam.environment" allow-clear placeholder="璇疯緭鍏ュ簱瀛樼幆澧�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撳尯缂栧彿">
+                  <a-input v-model="queryParam.areaCode" allow-clear placeholder="璇疯緭鍏ュ簱鍖虹紪鍙�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鎵�鍦ㄥ簱鍖�">
+                  <a-input v-model="queryParam.areaId" allow-clear placeholder="璇疯緭鍏ユ墍鍦ㄥ簱鍖�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撳尯鍚嶇О">
+                  <a-input v-model="queryParam.areaName" allow-clear placeholder="璇疯緭鍏ュ簱鍖哄悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="妫�楠岀爜">
+                  <a-input v-model="queryParam.verificationCode" allow-clear placeholder="璇疯緭鍏ユ楠岀爜"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="鎺�">
+                  <a-input-number v-model="queryParam.rowNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ユ帓"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="鍒�">
+                  <a-input-number v-model="queryParam.columnNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ垪"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="灞�">
+                  <a-input-number v-model="queryParam.layerNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ眰"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="宸烽亾">
+                  <a-input-number v-model="queryParam.laneNo" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ贩閬�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅X鍧愭爣">
+                  <a-input v-model="queryParam.xzb" allow-clear placeholder="璇疯緭鍏ュ簱浣峏鍧愭爣"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅Y鍧愭爣">
+                  <a-input v-model="queryParam.yzb" allow-clear placeholder="璇疯緭鍏ュ簱浣峐鍧愭爣"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅Z鍧愭爣">
+                  <a-input v-model="queryParam.zzb" allow-clear placeholder="璇疯緭鍏ュ簱浣峑鍧愭爣"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅闀垮害">
+                  <a-input v-model="queryParam.length" allow-clear placeholder="璇疯緭鍏ュ簱浣嶉暱搴�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅瀹藉害">
+                  <a-input v-model="queryParam.width" allow-clear placeholder="璇疯緭鍏ュ簱浣嶅搴�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="搴撲綅楂樺害">
+                  <a-input v-model="queryParam.height" allow-clear placeholder="璇疯緭鍏ュ簱浣嶉珮搴�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鏈�澶ф壙閲�">
+                  <a-input v-model="queryParam.maxWeight" allow-clear placeholder="璇疯緭鍏ユ渶澶ф壙閲�"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="鍏ュ簱椤哄簭">
+                  <a-input-number v-model="queryParam.inSequence" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ叆搴撻『搴�"/>
+                </a-form-item>
+              </a-col><a-col :md="8" :sm="24">
+                <a-form-item label="鍑哄簱椤哄簭">
+                  <a-input-number v-model="queryParam.outSequence" style="width: 100%" allow-clear placeholder="璇疯緭鍏ュ嚭搴撻『搴�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁铏氭嫙">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isVirtually" placeholder="璇烽�夋嫨鏄惁铏氭嫙">
+						<a-select-option v-for="(item,index) in isVirtuallyData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁绂佺敤">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+						<a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鍒涘缓鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangecreatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鏇存柊鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangeupdatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍒涘缓鑰呭悕绉�">
+                  <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="淇敼鑰呭悕绉�">
+                  <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
+                </a-form-item>
+              </a-col>	</template>
+
+            <a-col :md="8" :sm="24" >
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button>
+                <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button>
+                <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                </a>
+              </span>
+            </a-col>
+
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+	</div>
+    <a-card :bordered="false">
+      <s-table
+        ref="table"
+        :columns="columns"
+        :data="loadData"
+        :alert="true"
+		@changeTablePage="pageInfo = $event"
+		:scroll="{x: true,y:tableHeight}"
+        :rowKey="(record) => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+        <template class="table-operator" slot="operator" v-if="hasPerm('WmsPlace:add')" >
+		<div ref="actionBar" class="actionBar">
+			<a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
+            瀵煎叆
+          </a-button>
+          <a-button type="info" v-if="hasPerm('WmsPlace:exportExcel')" icon="download" @click="WmsPlaceToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsPlace:add')" icon="plus" @click="$refs.addForm.add()">鏂板搴撲綅淇℃伅</a-button>
+		</div>
+		</template>
+		  <span slot="isSrmPlacescopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isRgvPlacescopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isAgvPlacescopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isTransPlacescopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isActivateWCSscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isVirtuallyscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="isDisabledscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="action" slot-scope="text, record">
+			
+			<a v-if="hasPerm('WmsPlace:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsPlace:edit') & hasPerm('WmsPlace:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsPlace:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsPlaceDelete(record)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </s-table>
+      <add-form ref="addForm" @ok="handleOk" />
+      <edit-form ref="editForm" @ok="handleOk" />
+	  <excel-form ref="excelForm" @ok="handleOk" />
+    </a-card>
+  </div>
+</template>
+<script>
+	import { STable } from '@/components'
+	import moment from 'moment'
+	import { WmsPlacePage, WmsPlaceDelete, WmsPlaceToExcel } from '@/api/modular/main/WmsBase/WmsPlaceManage'
+	//鑷畾涔塼able楂樺害
+	import setTableHtMixin from '@/mixins/handleTableHt.js'
+	import addForm from './addForm.vue'
+	import { exportExcel } from '@/utils/exportToExcel'
+	import { downloadFile } from '@/utils/util'
+	import editForm from './editForm.vue'
+	import excelForm from './excelForm.vue'
+	export default {
+	mixins: [setTableHtMixin],
+	components: {
+	STable,
+	addForm,
+	editForm,
+	excelForm
+	},
+	data () {
+	return {
+	advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+	queryParam: {},
+	 pageInfo: {
+        current: 1,
+        pageSize: 10
+      },
+	columns: [
+	{
+	title:'搴忓彿',
+	width: '60px',
+	align: 'center',
+	customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+	},
+	{
+	title: '搴撲綅缂栫爜',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'placeCode'
+	},
+	{
+	title: '搴撲綅鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'placeName'
+	},
+	{
+	title: '搴撲綅鍒悕',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'placeAlias'
+	},
+	{
+	title: '搴撲綅绫诲瀷',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'placeType'
+	},
+	{
+	title: '搴撲綅绫诲瀷鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'placeTypeName'
+	},
+	{
+	title: '瀛樻斁鍗曚綅',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'stockUnit'
+	},
+	{
+	title: '搴撲綅灞炴��',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'placeStatus'
+	},
+	{
+	title: '鏄惁鍫嗗灈鏈哄簱浣�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isSrmPlace',
+	scopedSlots: { customRender: 'isSrmPlacescopedSlots' }
+	},
+	{
+	title: '鍫嗗灈鏈哄簱浣嶅彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'srmPlaceNo'
+	},
+	{
+	title: '鏄惁RGV搴撲綅',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isRgvPlace',
+	scopedSlots: { customRender: 'isRgvPlacescopedSlots' }
+	},
+	{
+	title: 'RGV搴撲綅鍙�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'rgvPlaceNo'
+	},
+	{
+	title: '鏄惁AGV搴撲綅',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isAgvPlace',
+	scopedSlots: { customRender: 'isAgvPlacescopedSlots' }
+	},
+	{
+	title: 'AGV搴撲綅鍙�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'agvPlaceNo'
+	},
+	{
+	title: '鏄惁杈撻�佺嚎搴撲綅',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isTransPlace',
+	scopedSlots: { customRender: 'isTransPlacescopedSlots' }
+	},
+	{
+	title: '杈撻�佺嚎搴撲綅鍙�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'transPlaceNo'
+	},
+	{
+	title: '鏄惁婵�娲讳笌浠诲姟璋冨害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isActivateWCS',
+	scopedSlots: { customRender: 'isActivateWCSscopedSlots' }
+	},
+	{
+	title: '搴撳瓨鐜',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'environment'
+	},
+	{
+	title: '搴撳尯缂栧彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaCode'
+	},
+	{
+	title: '鎵�鍦ㄥ簱鍖�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaId'
+	},
+	{
+	title: '搴撳尯鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'areaName'
+	},
+	{
+	title: '妫�楠岀爜',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'verificationCode'
+	},
+	{
+	title: '鎺�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'rowNo'
+	},
+	{
+	title: '鍒�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'columnNo'
+	},
+	{
+	title: '灞�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'layerNo'
+	},
+	{
+	title: '宸烽亾',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'laneNo'
+	},
+	{
+	title: '搴撲綅X鍧愭爣',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'xzb'
+	},
+	{
+	title: '搴撲綅Y鍧愭爣',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'yzb'
+	},
+	{
+	title: '搴撲綅Z鍧愭爣',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'zzb'
+	},
+	{
+	title: '搴撲綅闀垮害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'length'
+	},
+	{
+	title: '搴撲綅瀹藉害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'width'
+	},
+	{
+	title: '搴撲綅楂樺害',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'height'
+	},
+	{
+	title: '鏈�澶ф壙閲�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'maxWeight'
+	},
+	{
+	title: '鍏ュ簱椤哄簭',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'inSequence'
+	},
+	{
+	title: '鍑哄簱椤哄簭',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '80px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'outSequence'
+	},
+	{
+	title: '鏄惁铏氭嫙',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isVirtually',
+	scopedSlots: { customRender: 'isVirtuallyscopedSlots' }
+	},
+	{
+	title: '鏄惁绂佺敤',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isDisabled',
+	scopedSlots: { customRender: 'isDisabledscopedSlots' }
+	},
+	{
+	title: '鍒涘缓鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdTime'
+	},
+	{
+	title: '鏇存柊鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedTime'
+	},
+	{
+	title: '鍒涘缓鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdUserName'
+	},
+	{
+	title: '淇敼鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedUserName'
+	}
+	],
+	tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+	// 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+	loadData: parameter => {
+	return WmsPlacePage(Object.assign(parameter, this.switchingDate())).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsPlace:edit') || this.hasPerm('WmsPlace:delete')) {
+	this.columns.push({
+	title: '鎿嶄綔',
+	width: '150px',
+	dataIndex: 'action',
+	scopedSlots: { customRender: 'action' }
+	})
+	}
+	const path = this.$route.path
+	const columnStr = window.localStorage.getItem(path)
+	if(columnStr) {
+	var _columns = JSON.parse(columnStr)
+	this.columns.forEach(element => {
+	var fObj = _columns.find((item, index) => {
+	return item.dataIndex === element.dataIndex;
+	})
+	if(fObj!=undefined && fObj!=null){
+	element.checked=fObj.checked;
+	}
+	});
+	}
+	const isSrmPlaceOption = this.$options
+	this.isSrmPlaceData = isSrmPlaceOption.filters['dictData']('yes_true_false')
+	const isRgvPlaceOption = this.$options
+	this.isRgvPlaceData = isRgvPlaceOption.filters['dictData']('yes_true_false')
+	const isAgvPlaceOption = this.$options
+	this.isAgvPlaceData = isAgvPlaceOption.filters['dictData']('yes_true_false')
+	const isTransPlaceOption = this.$options
+	this.isTransPlaceData = isTransPlaceOption.filters['dictData']('yes_true_false')
+	const isActivateWCSOption = this.$options
+	this.isActivateWCSData = isActivateWCSOption.filters['dictData']('yes_true_false')
+	const isVirtuallyOption = this.$options
+	this.isVirtuallyData = isVirtuallyOption.filters['dictData']('yes_true_false')
+	const isDisabledOption = this.$options
+	this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	window.addEventListener(
+	'resize',
+	() => {
+	this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+	},
+	false
+	)
+	
+	},
+	methods: {
+	moment,
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsPlaceDelete (record) {
+	WmsPlaceDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
+
+
+	WmsPlaceToExcel() {
+	this.loading = true
+	let entozh = {};
+	const path = this.$route.path;
+	if (window.localStorage.getItem(path)) {
+	JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+	if (item.dataIndex != 'action' && item.checked) {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	} else { //鐩存帴鐐瑰鍑�
+	this.columns.forEach(item => {
+	if (item.dataIndex != 'action') {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	}
+	WmsPlacePage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
+	this.loading = false;
+	//闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+	var arrDataCutout = this.columns.filter(v => v.customCutout == true);
+	res.data.rows.forEach(item => {
+	var arrKeys = Object.keys(item);
+	arrKeys.forEach(key => {
+	var strFieldDic = key + 'Data';
+	//鏋氫妇杞��
+	if (this[strFieldDic] && this[strFieldDic].length > 0) {
+	let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
+	if (arrFieldDic.length > 0) {
+	item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
+	}
+	}
+	// 鏃ユ湡鎴彇
+	if (arrDataCutout.length > 0) {
+	arrDataCutout.forEach(itemIn => {
+	if (key == itemIn.dataIndex && item[key]) {
+	item[key] = item[key].split(" ")[0]
+	}
+	})
+	}
+	});
+	})
+	exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
+	}).catch((err) => {
+	this.loading = false
+	this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+	})
+	},
+
+
+	toggleAdvanced () {
+	this.advanced = !this.advanced
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	onChangecreatedTime(date, dateString) {
+	  this.queryParam.createdTime = dateString
+	},
+	onChangeupdatedTime(date, dateString) {
+	  this.queryParam.updatedTime = dateString
+	},
+	handleOk () {
+	this.$refs.table.refresh()
+	},
+	onSelectChange (selectedRowKeys, selectedRows) {
+	this.selectedRowKeys = selectedRowKeys
+	this.selectedRows = selectedRows
+	}
+	}
+	}
+</script>
+<style lang="less">
+  .table-operator {
+    margin-bottom: 18px;
+  }
+  button {
+    margin-right: 8px;
+  }
+</style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue
new file mode 100644
index 0000000..1724b73
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/addForm.vue
@@ -0,0 +1,94 @@
+锘�<template>
+  <a-modal
+    title="鏂板鍗曚綅淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+		<a-form :form="form">
+        <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['unitCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['unitName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ弿杩�" v-decorator="['unitDesc']" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import moment from 'moment'
+  import {
+  WmsUnitAdd
+  } from '@/api/modular/main/WmsBase/WmsUnitManage'
+  export default {
+  data () {
+  return {
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      add (record) {
+        this.visible = true
+        this.$nextTick(() => {
+
+        });
+      },
+      /**
+       * 鎻愪氦琛ㄥ崟
+       */
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+              }
+            }
+            WmsUnitAdd(values).then((res) => {
+              if (res.success) {
+                this.$message.success('鏂板鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', values)
+                this.handleCancel()
+              } else {
+                this.$message.error('鏂板澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          } else {
+            this.confirmLoading = false
+          }
+        })
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue
new file mode 100644
index 0000000..c641026
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/editForm.vue
@@ -0,0 +1,111 @@
+锘�<template>
+  <a-modal
+    title="缂栬緫鍗曚綅淇℃伅"
+    :width="900"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    @ok="handleSubmit"
+    @cancel="handleCancel">
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-form-item label="缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ紪鍙�" v-decorator="['unitCode', {rules: [{required: true, message: '璇疯緭鍏ョ紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ュ悕绉�" v-decorator="['unitName', {rules: [{required: true, message: '璇疯緭鍏ュ悕绉帮紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ユ弿杩�" v-decorator="['unitDesc']" />
+        </a-form-item>
+        <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
+        </a-form-item>
+        <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import moment from 'moment'
+  import {
+  WmsUnitEdit
+  } from '@/api/modular/main/WmsBase/WmsUnitManage'
+  export default {
+  data () {
+  return {
+  Id: 0,
+  labelCol: {
+  xs: { span: 24 },
+  sm: { span: 5 }
+  },
+  wrapperCol: {
+  xs: { span: 24 },
+  sm: { span: 15 }
+  },
+  record: {},
+        visible: false,
+        confirmLoading: false,
+        form: this.$form.createForm(this)
+      }
+    },
+    methods: {
+	moment,
+      // 鍒濆鍖栨柟娉�
+      edit (record) {
+        this.visible = true;
+		this.Id = record.id;
+        this.$nextTick(() => {
+        });
+        //娣卞害鎷疯礉 绉婚櫎VUE鐨勭洃鍚紝闃叉INDEX椤甸潰鍊煎彉鍔�
+        this.record = JSON.parse(JSON.stringify(record))
+        this.$nextTick(() => {
+          this.form.setFieldsValue(
+            {
+              id: record.id,
+              unitCode: record.unitCode,
+              unitName: record.unitName,
+              unitDesc: record.unitDesc,
+              isDisabled: record.isDisabled
+            }
+          )
+        })
+      },
+      handleSubmit () {
+        const { form: { validateFields } } = this
+        this.confirmLoading = true
+        validateFields((errors, values) => {
+          if (!errors) {
+            for (const key in values) {
+              if (values[key] == null) continue
+              if (typeof (values[key]) === 'object') {
+                values[key] = JSON.stringify(values[key])
+                 this.record[key] = values[key]
+              } else {
+                 this.record[key] = values[key]
+              }
+            }
+            WmsUnitEdit(this.record).then((res) => {
+              if (res.success) {
+                this.$message.success('缂栬緫鎴愬姛')
+                this.confirmLoading = false
+                this.$emit('ok', this.record)
+                this.handleCancel()
+              } else {
+                this.$message.error('缂栬緫澶辫触锛�' + JSON.stringify(res.message))
+              }
+            }).finally((res) => {
+              this.confirmLoading = false
+            })
+          }else{
+            this.confirmLoading = false
+          } 
+        });
+      },
+      handleCancel () {
+        this.form.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue
new file mode 100644
index 0000000..63a7c55
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/excelForm.vue
@@ -0,0 +1,181 @@
+锘�<template>
+  <a-modal
+    :width="850"
+    :destroyOnClose="true"
+    :visible="visible"
+    :forceRender="true"
+    title="鎵归噺瀵煎叆"
+    cancelText="鍙栨秷涓婁紶"
+    okText="寮�濮嬩笂浼�"
+    @cancel="handleCancel"
+    @ok="handleSubmit">
+    <a-spin :spinning="confirmLoading">
+      <a-row :span="24">
+        <span>璇烽�夋嫨瑕佸鍏ョ殑鏁版嵁鏂囦欢锛圗xcel鏍煎紡锛�</span>
+      </a-row>
+      <p></p>
+      <a-row>
+        <a-col :span="16">
+          <a-upload-dragger accept=".xlsx,.xls" :multiple="false" :customRequest="customRequest" @change="handleChange" :beforeUpload="beforeUpload">
+            <a-icon style="font-size: 40px;" type="cloud-upload" />
+          </a-upload-dragger>
+        </a-col>
+        <!--<a-col :span="8">
+          <span>瀵煎叆妯″紡锛�</span>
+          <a-select
+            style="width: 130px"
+            placeholder="璇烽�夋嫨瀵煎叆妯″紡"
+            v-model="importExcelType">
+            <a-select-option
+              v-for="(item,index) in importExcelTypeData"
+              :key="index"
+              :value="item.code">{{ item.name }}
+            </a-select-option>
+          </a-select>
+        </a-col>-->
+      </a-row>
+      <a-row :span="24">
+        <!--<a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="!detailed">
+          鐐瑰嚮鏌ョ湅鏂囦欢涓婁紶瑕佹眰
+        </a-button>-->
+        <span>銆�</span>
+        <a-button style="width: 90px;text-align: left;" @click="wmsUnitDownloadExcelTemplate" type="link">涓嬭浇瀵煎叆妯℃澘</a-button>锛屽~鍐欏苟涓婁紶
+        <span>銆�</span>
+        <a-button @click="showDemand" style="width: 150px;text-align: left;" type="link" v-show="detailed">
+          鏀惰捣
+        </a-button>
+      </a-row>
+      <a-row v-show="detailed" style="background: #fef4e8; height: 30px;" :span="24">
+        <a-breadcrumb>
+          <a-breadcrumb-item style="line-height: 30px;color: #faad14;margin-left: 18px;">鏂囦欢涓婁紶瑕佹眰</a-breadcrumb-item>
+        </a-breadcrumb>
+      </a-row>
+      <pre v-show="detailed">
+        <div v-html="demandText"></div>
+      </pre>
+      <a-table v-show="detailed" :columns="columns" :data-source="dataList" :rowKey="(record) => record.processID" :pagination="false"></a-table>
+      <pre v-show="detailed">
+        <div v-html="columnText"></div>
+      </pre>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+  import { downloadFile, checkFile, parseExcelFieldText, parseDemandText } from '@/utils/util'
+
+  import { WmsUnitImportExcel, WmsUnitDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsUnitManage'
+  import { sysExcelTemplateGetColumnList } from '@/api/modular/system/excelTemplateManage'
+  export default {
+  components: {
+  },
+  data() {
+  return {
+  visible: false,
+  detailed: false,
+  confirmLoading: false,
+  fileList: [],
+  importExcelTypeData: [],
+  importExcelType: '1',
+  uploadFile: null,
+  columns: [],
+  dataList: [],
+  demandText:'',
+  columnText: ''
+  }
+  },
+  methods: {
+  index() {
+  this.visible = true;
+  this.importExcelTypeData = this.$options.filters['dictData']('import_excel_type')
+  this.demandText = parseDemandText("wmsUnitDownloadExcelTemplate")
+  window.downloadFile = this.wmsUnitDownloadExcelTemplate;
+  this.getTable();
+  },
+  showDemand() {
+  this.detailed = !this.detailed;
+  },
+  customRequest(document) {
+  this.uploadFile = document
+  },
+  getTable() {
+  sysExcelTemplateGetColumnList({className: "WmsUnit"}).then(res =>
+  {
+  if (res.success) {
+  this.columns =[];
+  this.dataList = [{}];
+  res.data.forEach(x => {
+  this.columns.push({
+  dataIndex: x.columnName,
+  key: x.columnName,
+  title: x.columnComment
+  });
+  this.dataList[0][x.columnName] = x.isRequired ? "蹇呭~" : "闈炲繀濉�"
+  });
+  this.columnText = parseExcelFieldText(res.data);
+  }
+  });
+  },
+  beforeUpload(fileInfo) {
+  let res = checkFile(fileInfo, 1073741824, ['.xlsx', '.xls']);
+  if (!res.success) {
+  this.$message.warning(res.msg)
+  return false
+  }
+  setTimeout(() => {this.uploadFile.onSuccess(this.uploadFile.file)}, 1000)
+  },
+  handleChange(fileInfo) {
+  if (fileInfo.file.status === 'error') {
+  fileInfo.fileList.splice(0, 1)
+  }
+  if (fileInfo.file.status === 'done') {
+  if (fileInfo.fileList.length > 1) {
+  fileInfo.fileList.splice(0, 1)
+  }
+  this.fileList = fileInfo.file
+  }
+  },
+  handleSubmit() {
+  this.confirmLoading = true
+  const formData = new FormData()
+  formData.append('file', this.uploadFile.file)
+  WmsUnitImportExcel(formData, {importExcelType: this.importExcelType}).then(res => {
+  this.$message.success('鎿嶄綔鎴愬姛')
+  this.confirmLoading = false
+  this.$emit('ok', [])
+  this.handleCancel()
+  }).finally((res)=>{this.confirmLoading = false})
+  },
+  handleCancel() {
+  this.visible = false
+  this.detailed = false
+  },
+  wmsUnitDownloadExcelTemplate() {
+  WmsUnitDownloadExcelTemplate({version: "v2"}).then((res) => {
+  downloadFile(res);
+  }).catch((err) => {
+  this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+  })
+  }
+  }
+  }
+</script>
+
+<style scoped>
+::v-deep .ant-upload.ant-upload-drag {
+  position: relative;
+  width: 140px;
+  height: 135px;
+  text-align: center;
+  background: #fafafa;
+  border: 1px dashed #d9d9d9;
+  border-radius: 2px;
+  cursor: pointer;
+  -webkit-transition: border-color 0.3s;
+  transition: border-color 0.3s;
+}
+::v-deep .ant-btn:focus:not(.ant-btn-primary):not(.ant-btn-danger), .ant-btn:hover:not(.ant-btn-primary):not(.ant-btn-danger) {
+  color: #ffc53d;
+  border-color: white;
+}
+</style>
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue
new file mode 100644
index 0000000..fba6d14
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsUnit/index.vue
@@ -0,0 +1,463 @@
+锘�<template>
+  <div ref="boxOutWrap" class="boxOutWrap">
+	<div ref="boxForm" class="boxForm">  
+    <a-card :bordered="false" :bodyStyle="tstyle">
+
+      <div class="table-page-search-wrapper" v-if="hasPerm('WmsUnit:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="缂栧彿">
+                <a-input v-model="queryParam.unitCode" allow-clear placeholder="璇疯緭鍏ョ紪鍙�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="鍚嶇О">
+                <a-input v-model="queryParam.unitName" allow-clear placeholder="璇疯緭鍏ュ悕绉�"/>
+              </a-form-item>
+            </a-col><template v-if="advanced">
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鎻忚堪">
+                  <a-input v-model="queryParam.unitDesc" allow-clear placeholder="璇疯緭鍏ユ弿杩�"/>
+                </a-form-item>
+              </a-col>
+			<a-col :md="8" :sm="24">
+				<a-form-item label="鏄惁绂佺敤">
+					<a-select :allowClear="true" style="width: 100%" v-model="queryParam.isDisabled" placeholder="璇烽�夋嫨鏄惁绂佺敤">
+						<a-select-option v-for="(item,index) in isDisabledData" :key="index" :value="item.code">{{ item.name }}</a-select-option>
+					</a-select>
+				</a-form-item>
+			</a-col>
+		          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鍒涘缓鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.createdTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangecreatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			          <!--骞存湀鏃ユ椂鍒嗙-->
+			<!--鏃堕棿鑼冨洿-->
+
+				<a-col :md="8" :sm="24">
+					<a-form-item label="鏇存柊鏃堕棿">
+						<a-range-picker style="width: 100%" :placeholder="['寮�濮嬫椂闂�', '缁撴潫鏃堕棿']"  :show-time="{
+format: 'HH:mm:ss',  defaultValue: [moment('00:00:00', 'HH:mm:ss'),moment('23:59:59', 'HH:mm:ss')]}" v-model="queryParam.updatedTime"  value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"   @change="onChangeupdatedTime"/>
+
+					</a-form-item>
+				</a-col>
+			
+              <a-col :md="8" :sm="24">
+                <a-form-item label="鍒涘缓鑰呭悕绉�">
+                  <a-input v-model="queryParam.createdUserName" allow-clear placeholder="璇疯緭鍏ュ垱寤鸿�呭悕绉�"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="8" :sm="24">
+                <a-form-item label="淇敼鑰呭悕绉�">
+                  <a-input v-model="queryParam.updatedUserName" allow-clear placeholder="璇疯緭鍏ヤ慨鏀硅�呭悕绉�"/>
+                </a-form-item>
+              </a-col>	</template>
+
+            <a-col :md="8" :sm="24" >
+              <span class="table-page-search-submitButtons">
+                <a-button type="primary" @click="$refs.table.refresh(true)" >鏌ヨ</a-button>
+                <a-button style="margin-left: 8px" @click="() => queryParam = {}">閲嶇疆</a-button>
+                <a @click="toggleAdvanced" style="margin-left: 8px"> {{ advanced ? '鏀惰捣' : '灞曞紑' }}
+                  <a-icon :type="advanced ? 'up' : 'down'"/>
+                </a>
+              </span>
+            </a-col>
+
+          </a-row>
+        </a-form>
+      </div>
+    </a-card>
+	</div>
+    <a-card :bordered="false">
+      <s-table
+        ref="table"
+        :columns="columns"
+        :data="loadData"
+        :alert="true"
+		@changeTablePage="pageInfo = $event"
+		:scroll="{x: true,y:tableHeight}"
+        :rowKey="(record) => record.id"
+        :rowSelection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }">
+        <template class="table-operator" slot="operator" v-if="hasPerm('WmsUnit:add')" >
+		<div ref="actionBar" class="actionBar">
+			<a-button type="info" v-if="hasPerm('sysExcelTemplate:importExcel')" icon="upload" @click="$refs.excelForm.index()">
+            瀵煎叆
+          </a-button>
+          <a-button type="info" v-if="hasPerm('WmsUnit:exportExcel')" icon="download" @click="WmsUnitToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsUnit:add')" icon="plus" @click="$refs.addForm.add()">鏂板鍗曚綅淇℃伅</a-button>
+		</div>
+		</template>
+		  <span slot="isDisabledscopedSlots" slot-scope="text">
+			<div v-if="text===true ">
+				<a-tag color="green">鏄�</a-tag>
+			</div>
+			<div v-else-if="text==false">
+				<a-tag color="volcano">鍚�</a-tag>
+			</div>
+			<div v-else=""></div>
+			</span>
+		  <span slot="action" slot-scope="text, record">
+			
+			<a v-if="hasPerm('WmsUnit:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsUnit:edit') & hasPerm('WmsUnit:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsUnit:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsUnitDelete(record)">
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </span>
+      </s-table>
+      <add-form ref="addForm" @ok="handleOk" />
+      <edit-form ref="editForm" @ok="handleOk" />
+	  <excel-form ref="excelForm" @ok="handleOk" />
+    </a-card>
+  </div>
+</template>
+<script>
+	import { STable } from '@/components'
+	import moment from 'moment'
+	import { WmsUnitPage, WmsUnitDelete, WmsUnitToExcel } from '@/api/modular/main/WmsBase/WmsUnitManage'
+	//鑷畾涔塼able楂樺害
+	import setTableHtMixin from '@/mixins/handleTableHt.js'
+	import addForm from './addForm.vue'
+	import { exportExcel } from '@/utils/exportToExcel'
+	import { downloadFile } from '@/utils/util'
+	import editForm from './editForm.vue'
+	import excelForm from './excelForm.vue'
+	export default {
+	mixins: [setTableHtMixin],
+	components: {
+	STable,
+	addForm,
+	editForm,
+	excelForm
+	},
+	data () {
+	return {
+	advanced: false, // 楂樼骇鎼滅储 灞曞紑/鍏抽棴
+	queryParam: {},
+	 pageInfo: {
+        current: 1,
+        pageSize: 10
+      },
+	columns: [
+	{
+	title:'搴忓彿',
+	width: '60px',
+	align: 'center',
+	customRender: (text, record, index) => `${index + 1 + (this.pageInfo.current - 1) * this.pageInfo.pageSize}`
+	},
+	{
+	title: '缂栧彿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'unitCode'
+	},
+	{
+	title: '鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'unitName'
+	},
+	{
+	title: '鎻忚堪',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'unitDesc'
+	},
+	{
+	title: '鏄惁绂佺敤',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'isDisabled',
+	scopedSlots: { customRender: 'isDisabledscopedSlots' }
+	},
+	{
+	title: '鍒涘缓鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdTime'
+	},
+	{
+	title: '鏇存柊鏃堕棿',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedTime'
+	},
+	{
+	title: '鍒涘缓鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'createdUserName'
+	},
+	{
+	title: '淇敼鑰呭悕绉�',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'updatedUserName'
+	}
+	],
+	tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
+	// 鍔犺浇鏁版嵁鏂规硶 蹇呴』涓� Promise 瀵硅薄
+	loadData: parameter => {
+	return WmsUnitPage(Object.assign(parameter, this.switchingDate())).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsUnit:edit') || this.hasPerm('WmsUnit:delete')) {
+	this.columns.push({
+	title: '鎿嶄綔',
+	width: '150px',
+	dataIndex: 'action',
+	scopedSlots: { customRender: 'action' }
+	})
+	}
+	const path = this.$route.path
+	const columnStr = window.localStorage.getItem(path)
+	if(columnStr) {
+	var _columns = JSON.parse(columnStr)
+	this.columns.forEach(element => {
+	var fObj = _columns.find((item, index) => {
+	return item.dataIndex === element.dataIndex;
+	})
+	if(fObj!=undefined && fObj!=null){
+	element.checked=fObj.checked;
+	}
+	});
+	}
+	const isDisabledOption = this.$options
+	this.isDisabledData = isDisabledOption.filters['dictData']('yes_true_false')
+
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	window.addEventListener(
+	'resize',
+	() => {
+	this.handleTableHt() // 鐩戝惉灞忓箷澶у皬鏀瑰彉琛ㄦ牸楂樺害
+	},
+	false
+	)
+	
+	},
+	methods: {
+	moment,
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsUnitDelete (record) {
+	WmsUnitDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
+
+
+	WmsUnitToExcel() {
+	this.loading = true
+	let entozh = {};
+	const path = this.$route.path;
+	if (window.localStorage.getItem(path)) {
+	JSON.parse(window.localStorage.getItem(path)).forEach(item => {
+	if (item.dataIndex != 'action' && item.checked) {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	} else { //鐩存帴鐐瑰鍑�
+	this.columns.forEach(item => {
+	if (item.dataIndex != 'action') {
+	entozh[item.dataIndex] = item.title
+	}
+	})
+	}
+	WmsUnitPage(Object.assign({ pageSize: 100000, pageIndex: 1 }, this.queryParam)).then((res) => {
+	this.loading = false;
+	//闇�瑕佹埅鍙栨棩鏈熺殑瀛楁
+	var arrDataCutout = this.columns.filter(v => v.customCutout == true);
+	res.data.rows.forEach(item => {
+	var arrKeys = Object.keys(item);
+	arrKeys.forEach(key => {
+	var strFieldDic = key + 'Data';
+	//鏋氫妇杞��
+	if (this[strFieldDic] && this[strFieldDic].length > 0) {
+	let arrFieldDic = this[strFieldDic].filter(v => String(v.code) == String(item[key]));
+	if (arrFieldDic.length > 0) {
+	item[key] = arrFieldDic[0]?.name || '娌℃湁鏋氫妇鍊�';
+	}
+	}
+	// 鏃ユ湡鎴彇
+	if (arrDataCutout.length > 0) {
+	arrDataCutout.forEach(itemIn => {
+	if (key == itemIn.dataIndex && item[key]) {
+	item[key] = item[key].split(" ")[0]
+	}
+	})
+	}
+	});
+	})
+	exportExcel(res.data.rows, entozh, "xlsx", `${this.$route.meta.title}`)
+	}).catch((err) => {
+	this.loading = false
+	this.$message.error('涓嬭浇閿欒锛氳幏鍙栨枃浠舵祦閿欒' + err)
+	})
+	},
+
+
+	toggleAdvanced () {
+	this.advanced = !this.advanced
+	this.handleTableHt() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	onChangecreatedTime(date, dateString) {
+	  this.queryParam.createdTime = dateString
+	},
+	onChangeupdatedTime(date, dateString) {
+	  this.queryParam.updatedTime = dateString
+	},
+	handleOk () {
+	this.$refs.table.refresh()
+	},
+	onSelectChange (selectedRowKeys, selectedRows) {
+	this.selectedRowKeys = selectedRowKeys
+	this.selectedRows = selectedRows
+	}
+	}
+	}
+</script>
+<style lang="less">
+  .table-operator {
+    margin-bottom: 18px;
+  }
+  button {
+    margin-right: 8px;
+  }
+</style>
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue
index 5c9eb3c..0bebc69 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/addForm.vue
@@ -1,6 +1,6 @@
 锘�<template>
   <a-modal
-    title="鏂板浠撳簱琛�"
+    title="鏂板浠撳簱淇℃伅"
     :width="900"
     :visible="visible"
     :confirmLoading="confirmLoading"
@@ -18,7 +18,7 @@
           <a-input placeholder="璇疯緭鍏ヤ粨搴撳湴鍧�" v-decorator="['address']" />
         </a-form-item>
         <a-form-item label="宸ュ巶缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-          <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode']" />
+          <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode', {rules: [{required: true, message: '璇疯緭鍏ュ伐鍘傜紪鍙凤紒'}]}]" />
         </a-form-item>
         <a-form-item label="闀�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
           <a-input placeholder="璇疯緭鍏ラ暱" v-decorator="['length']" />
@@ -36,7 +36,7 @@
           <a-input placeholder="璇疯緭鍏ュ畾浣�" v-decorator="['position']" />
         </a-form-item>
         <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-          <a-switch v-decorator="['isDisabled',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�' }], valuePropName: 'checked'}]" />
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
         </a-form-item>
         <a-form-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
           <a-input placeholder="璇疯緭鍏ュ娉�" v-decorator="['remarks']" />
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue
index 3e8cf66..533f2b6 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/editForm.vue
@@ -1,6 +1,6 @@
 锘�<template>
   <a-modal
-    title="缂栬緫浠撳簱琛�"
+    title="缂栬緫浠撳簱淇℃伅"
     :width="900"
     :visible="visible"
     :confirmLoading="confirmLoading"
@@ -18,7 +18,7 @@
           <a-input placeholder="璇疯緭鍏ヤ粨搴撳湴鍧�" v-decorator="['address']" />
         </a-form-item>
         <a-form-item label="宸ュ巶缂栧彿" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-          <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode']" />
+          <a-input placeholder="璇疯緭鍏ュ伐鍘傜紪鍙�" v-decorator="['factoryCode', {rules: [{required: true, message: '璇疯緭鍏ュ伐鍘傜紪鍙凤紒'}]}]" />
         </a-form-item>
         <a-form-item label="闀�" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
           <a-input placeholder="璇疯緭鍏ラ暱" v-decorator="['length']" />
@@ -36,7 +36,7 @@
           <a-input placeholder="璇疯緭鍏ュ畾浣�" v-decorator="['position']" />
         </a-form-item>
         <a-form-item label="鏄惁绂佺敤" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
-          <a-switch v-decorator="['isDisabled',{rules: [{ required: true, message: '璇烽�夋嫨鏄惁绂佺敤锛�' }], valuePropName: 'checked'}]" />
+          <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
         </a-form-item>
         <a-form-item label="澶囨敞" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
           <a-input placeholder="璇疯緭鍏ュ娉�" v-decorator="['remarks']" />
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue
index c4b00fd..e8efab0 100644
--- a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsWarehouse/index.vue
@@ -128,7 +128,7 @@
           <a-button type="info" v-if="hasPerm('WmsWarehouse:exportExcel')" icon="download" @click="WmsWarehouseToExcel()">
             瀵煎嚭
           </a-button>
-			<a-button type="primary" v-if="hasPerm('WmsWarehouse:add')" icon="plus" @click="$refs.addForm.add()">鏂板浠撳簱琛�</a-button>
+			<a-button type="primary" v-if="hasPerm('WmsWarehouse:add')" icon="plus" @click="$refs.addForm.add()">鏂板浠撳簱淇℃伅</a-button>
 		</div>
 		</template>
 		  <span slot="isDisabledscopedSlots" slot-scope="text">
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
index e7834a4..625a7ac 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
@@ -155,116 +155,6 @@
             鐗╂枡缂栫爜
             </summary>
         </member>
-        <member name="T:Admin.NET.Application.BindEntranceOutput">
-            <summary>
-            缁勭洏鐗╂枡淇℃伅
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.BindEntranceOutput.ContainerCode">
-            <summary>
-            鍛ㄨ浆绠卞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.BindEntranceOutput.WmsContainer">
-            <summary>
-            鏂欑鍙蜂俊鎭�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.BindEntranceOutput.PlaceCode">
-            <summary>
-            搴撲綅缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.BindEntranceOutput.WmsMaterials">
-            <summary>
-            鐗╂枡鏄庣粏淇℃伅
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.GetMaterialContainerOutput">
-            <summary>
-             鐗╂枡鏄庣粏淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialName">
-            <summary>
-            鐗╂枡鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialNo">
-            <summary>
-            鐗╂枡缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialBatch">
-            <summary>
-            鐗╂枡鎵规
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialType">
-            <summary>
-            鐗╂枡绫诲埆;鏁版嵁瀛楀吀
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetMaterialContainerOutput.InspectionMethod">
-            <summary>
-            鐗╂枡妫�楠�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetMaterialContainerOutput.MaterialSpec">
-            <summary>
-            鐗╂枡瑙勬牸
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialName">
-            <summary>
-            鐗╂枡鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialNo">
-            <summary>
-            鐗╂枡缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialId">
-            <summary>
-            鐗╂枡ID
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialBatch">
-            <summary>
-            鐗╂枡鎵规
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialType">
-            <summary>
-            鐗╂枡绫诲埆;鏁版嵁瀛楀吀
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.InspectionMethod">
-            <summary>
-            鐗╂枡妫�楠�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialSpec">
-            <summary>
-            鐗╂枡瑙勬牸
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialDensity">
-            <summary>
-            鐗╂枡瀵嗗害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.MaterialUnit">
-            <summary>
-            鐗╂枡鍗曚綅
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MaterialOutput.LesWorkshopSection">
-            <summary>
-            宸ユ
-            </summary>
-        </member>
         <member name="T:Admin.NET.Application.ExWarehouseSearch">
             <summary>
              鐗╂枡鍑哄簱鏌ヨ鍙傛暟
@@ -404,791 +294,6 @@
             <summary>
             璐﹂潰鏁伴噺
             </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsAreaDto">
-            <summary>
-            搴撳尯淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.AreaName">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.AreaDesc">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.AreaStatus">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.AreaType">
-            <summary>
-            鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.IsSteel">
-            <summary>
-            鏄惁涓洪挗骞冲彴
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaDto.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsAreaSearch">
-            <summary>
-            搴撳尯淇℃伅鏌ヨ鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaName">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaDesc">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaStatus">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaType">
-            <summary>
-            鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.IsSteel">
-            <summary>
-            鏄惁涓洪挗骞冲彴
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearch.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsAreaSearchNonPage">
-            <summary>
-            搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaName">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaDesc">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaStatus">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaType">
-            <summary>
-            鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsSteel">
-            <summary>
-            鏄惁涓洪挗骞冲彴
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsAreaInput">
-            <summary>
-            搴撳尯淇℃伅杈撳叆鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.AreaName">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.AreaDesc">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.AreaStatus">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.AreaType">
-            <summary>
-            鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.IsSteel">
-            <summary>
-            鏄惁涓洪挗骞冲彴
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaInput.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.AddWmsAreaInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.DeleteWmsAreaInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.UpdateWmsAreaInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.UpdateWmsAreaInput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.QueryeWmsAreaInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsAreaOutput">
-            <summary>
-            搴撳尯淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaName">
-            <summary>
-            鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaDesc">
-            <summary>
-            鎻忚堪
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaStatus">
-            <summary>
-            鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaType">
-            <summary>
-            鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.IsSteel">
-            <summary>
-            鏄惁涓洪挗骞冲彴
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsAreaOutput.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsContainerDto">
-            <summary>
-            鎵樼洏淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.ContainerCode">
-            <summary>
-            缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.ContainerType">
-            <summary>
-            绫诲瀷
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.ContainerStatus">
-            <summary>
-            鎵樼洏鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.SpecLength">
-            <summary>
-            闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.SpecWidth">
-            <summary>
-            瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.SpecHeight">
-            <summary>
-            楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.LimitLength">
-            <summary>
-            闄愰暱
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.LimitWidth">
-            <summary>
-            闄愬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.LimitHeight">
-            <summary>
-            闄愰珮
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.MaxWeight">
-            <summary>
-            杞介噸涓婇檺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.ParentContainerId">
-            <summary>
-            鐖舵墭鐩業d
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.AssetNo">
-            <summary>
-            璧勪骇缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.ContainerCategory">
-            <summary>
-            鎵樼洏鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.ErpNo">
-            <summary>
-            Erp鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.IsVirtually">
-            <summary>
-            鏄惁铏氭嫙
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerDto.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsContainerSearch">
-            <summary>
-            鎵樼洏淇℃伅鏌ヨ鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerCode">
-            <summary>
-            缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerType">
-            <summary>
-            绫诲瀷
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerStatus">
-            <summary>
-            鎵樼洏鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.SpecLength">
-            <summary>
-            闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.SpecWidth">
-            <summary>
-            瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.SpecHeight">
-            <summary>
-            楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.LimitLength">
-            <summary>
-            闄愰暱
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.LimitWidth">
-            <summary>
-            闄愬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.LimitHeight">
-            <summary>
-            闄愰珮
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.MaxWeight">
-            <summary>
-            杞介噸涓婇檺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.ParentContainerId">
-            <summary>
-            鐖舵墭鐩業d
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.AssetNo">
-            <summary>
-            璧勪骇缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerCategory">
-            <summary>
-            鎵樼洏鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.ErpNo">
-            <summary>
-            Erp鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.IsVirtually">
-            <summary>
-            鏄惁铏氭嫙
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearch.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsContainerSearchNonPage">
-            <summary>
-            鎵樼洏淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerCode">
-            <summary>
-            缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerType">
-            <summary>
-            绫诲瀷
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerStatus">
-            <summary>
-            鎵樼洏鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecLength">
-            <summary>
-            闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecWidth">
-            <summary>
-            瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecHeight">
-            <summary>
-            楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitLength">
-            <summary>
-            闄愰暱
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitWidth">
-            <summary>
-            闄愬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitHeight">
-            <summary>
-            闄愰珮
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.MaxWeight">
-            <summary>
-            杞介噸涓婇檺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ParentContainerId">
-            <summary>
-            鐖舵墭鐩業d
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.AssetNo">
-            <summary>
-            璧勪骇缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerCategory">
-            <summary>
-            鎵樼洏鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ErpNo">
-            <summary>
-            Erp鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IsVirtually">
-            <summary>
-            鏄惁铏氭嫙
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsContainerInput">
-            <summary>
-            鎵樼洏淇℃伅杈撳叆鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerCode">
-            <summary>
-            缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerType">
-            <summary>
-            绫诲瀷
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerStatus">
-            <summary>
-            鎵樼洏鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.SpecLength">
-            <summary>
-            闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.SpecWidth">
-            <summary>
-            瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.SpecHeight">
-            <summary>
-            楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.LimitLength">
-            <summary>
-            闄愰暱
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.LimitWidth">
-            <summary>
-            闄愬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.LimitHeight">
-            <summary>
-            闄愰珮
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.MaxWeight">
-            <summary>
-            杞介噸涓婇檺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.ParentContainerId">
-            <summary>
-            鐖舵墭鐩業d
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.AssetNo">
-            <summary>
-            璧勪骇缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerCategory">
-            <summary>
-            鎵樼洏鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.ErpNo">
-            <summary>
-            Erp鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.IsVirtually">
-            <summary>
-            鏄惁铏氭嫙
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerInput.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.AddWmsContainerInput.Quantity">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.UpdateWmsContainerInput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsContainerOutput">
-            <summary>
-            鎵樼洏淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerCode">
-            <summary>
-            缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerType">
-            <summary>
-            绫诲瀷
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerStatus">
-            <summary>
-            鎵樼洏鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.SpecLength">
-            <summary>
-            闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.SpecWidth">
-            <summary>
-            瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.SpecHeight">
-            <summary>
-            楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.LimitLength">
-            <summary>
-            闄愰暱
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.LimitWidth">
-            <summary>
-            闄愬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.LimitHeight">
-            <summary>
-            闄愰珮
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.MaxWeight">
-            <summary>
-            杞介噸涓婇檺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.ParentContainerId">
-            <summary>
-            鐖舵墭鐩業d
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.AssetNo">
-            <summary>
-            璧勪骇缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerCategory">
-            <summary>
-            鎵樼洏鍒嗙被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.ErpNo">
-            <summary>
-            Erp鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.IsVirtually">
-            <summary>
-            鏄惁铏氭嫙
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.WorkShopType">
-            <summary>
-            鎵�灞炶溅闂�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsContainerOutput.IssueState">
-            <summary>
-            绛炬牳鐘舵��
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.IWmsContainerService">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.Add(Admin.NET.Application.AddWmsContainerInput)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.Delete(Admin.NET.Application.DeleteWmsContainerInput)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.Get(Admin.NET.Application.QueryeWmsContainerInput)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.List(Admin.NET.Application.WmsContainerInput)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.Page(Admin.NET.Application.WmsContainerSearch)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.Update(Admin.NET.Application.UpdateWmsContainerInput)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.ListNonPageAsync(Admin.NET.Application.WmsContainerSearchNonPage)">
-            <summary>
-            
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.FromExcelAsync(Microsoft.AspNetCore.Http.IFormFile,Admin.NET.Core.ImportExcelType)">
-            <summary>
-            
-            </summary>
-            <param name="file"></param>
-            <param name="importExcelType"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.IWmsContainerService.DownloadExcelTemplate(System.String)">
-            <summary>
-            
-            </summary>
-            <param name="version"></param>
-            <returns></returns>
-        </member>
-        <member name="T:Admin.NET.Application.WmsContainerMapper">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.WmsContainerMapper.Register(Mapster.TypeAdapterConfig)">
-            <summary>
-            
-            </summary>
-            <param name="config"></param>
         </member>
         <member name="T:Admin.NET.Application.WmsMerchantinfoDto">
             <summary>
@@ -2281,511 +1386,6 @@
             </summary>
             <param name="input">PDA鑿滃崟鏌ヨ鍙傛暟</param>
             <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns>
-        </member>
-        <member name="T:Admin.NET.Application.WmsPlaceDto">
-            <summary>
-            搴撲綅淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.WmsAreaAreaname">
-            <summary>
-            鎵�鍦ㄥ簱鍖�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Placecode">
-            <summary>
-            缂栫爜
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Placestatus">
-            <summary>
-            搴撲綅鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Areaid">
-            <summary>
-            鎵�鍦ㄥ簱鍖�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Rowno">
-            <summary>
-            鎺�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Columnno">
-            <summary>
-            鍒�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Layerno">
-            <summary>
-            灞�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Deepcellno">
-            <summary>
-            杩涙繁鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Aisle">
-            <summary>
-            宸烽亾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Line">
-            <summary>
-            绾垮彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Islock">
-            <summary>
-            鏄惁閿佸畾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.EmptyContainer">
-            <summary>
-            鏄惁绌烘墭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.PositionnoForSrm">
-            <summary>
-            鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Xzb">
-            <summary>
-            搴撲綅X鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Yzb">
-            <summary>
-            搴撲綅Y鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Zzb">
-            <summary>
-            搴撲綅Z鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Length">
-            <summary>
-            搴撲綅闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Width">
-            <summary>
-            搴撲綅瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Height">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Maxweight">
-            <summary>
-            鏈�澶ф壙閲�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Heightlevel">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Priority">
-            <summary>
-            浼樺厛绾�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.LogicalName">
-            <summary>
-            閫昏緫鍖哄煙
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceDto.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsPlaceSearch">
-            <summary>
-            搴撲綅淇℃伅鏌ヨ鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Placecode">
-            <summary>
-            缂栫爜
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Placestatus">
-            <summary>
-            搴撲綅鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Areaid">
-            <summary>
-            鎵�鍦ㄥ簱鍖�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Rowno">
-            <summary>
-            鎺�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Columnno">
-            <summary>
-            鍒�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Layerno">
-            <summary>
-            灞�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Deepcellno">
-            <summary>
-            杩涙繁鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Aisle">
-            <summary>
-            宸烽亾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Line">
-            <summary>
-            绾垮彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Islock">
-            <summary>
-            鏄惁閿佸畾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.EmptyContainer">
-            <summary>
-            鏄惁绌烘墭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.PositionnoForSrm">
-            <summary>
-            鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Xzb">
-            <summary>
-            搴撲綅X鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Yzb">
-            <summary>
-            搴撲綅Y鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Zzb">
-            <summary>
-            搴撲綅Z鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Length">
-            <summary>
-            搴撲綅闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Width">
-            <summary>
-            搴撲綅瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Height">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Maxweight">
-            <summary>
-            鏈�澶ф壙閲�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Heightlevel">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceSearch.Priority">
-            <summary>
-            浼樺厛绾�
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsPlaceInput">
-            <summary>
-            搴撲綅淇℃伅杈撳叆鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Placecode">
-            <summary>
-            缂栫爜
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Placestatus">
-            <summary>
-            搴撲綅鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Areaid">
-            <summary>
-            鎵�鍦ㄥ簱鍖�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Rowno">
-            <summary>
-            鎺�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Columnno">
-            <summary>
-            鍒�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Layerno">
-            <summary>
-            灞�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Deepcellno">
-            <summary>
-            浣�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Aisle">
-            <summary>
-            宸烽亾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Line">
-            <summary>
-            绾垮彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Islock">
-            <summary>
-            鏄惁閿佸畾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.EmptyContainer">
-            <summary>
-            鏄惁绌烘墭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.PositionnoForSrm">
-            <summary>
-            鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Xzb">
-            <summary>
-            搴撲綅X鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Yzb">
-            <summary>
-            搴撲綅Y鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Zzb">
-            <summary>
-            搴撲綅Z鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Length">
-            <summary>
-            搴撲綅闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Width">
-            <summary>
-            搴撲綅瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Height">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Maxweight">
-            <summary>
-            鏈�澶ф壙閲�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Heightlevel">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceInput.Priority">
-            <summary>
-            浼樺厛绾�
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.AddWmsPlaceInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.AddWmsPlaceInput.Areaid">
-            <summary>
-            鎵�鍦ㄥ簱鍖�
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.DeleteWmsPlaceInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.UpdateWmsPlaceInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.UpdateWmsPlaceInput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.QueryeWmsPlaceInput">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.MoreLockInput">
-            <summary>
-            鎵归噺閿佸畾鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.MoreLockInput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsPlaceOutput">
-            <summary>
-            搴撲綅淇℃伅杈撳嚭鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Placecode">
-            <summary>
-            缂栫爜
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Placestatus">
-            <summary>
-            搴撲綅鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Areaid">
-            <summary>
-            鎵�鍦ㄥ簱鍖�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Rowno">
-            <summary>
-            鎺�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Columnno">
-            <summary>
-            鍒�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Layerno">
-            <summary>
-            灞�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Deepcellno">
-            <summary>
-            杩涙繁鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Aisle">
-            <summary>
-            宸烽亾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Line">
-            <summary>
-            绾垮彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Islock">
-            <summary>
-            鏄惁閿佸畾
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.EmptyContainer">
-            <summary>
-            鏄惁绌烘墭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.PositionnoForSrm">
-            <summary>
-            鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Xzb">
-            <summary>
-            搴撲綅X鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Yzb">
-            <summary>
-            搴撲綅Y鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Zzb">
-            <summary>
-            搴撲綅Z鍧愭爣
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Length">
-            <summary>
-            搴撲綅闀垮害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Width">
-            <summary>
-            搴撲綅瀹藉害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Height">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Maxweight">
-            <summary>
-            鏈�澶ф壙閲�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Heightlevel">
-            <summary>
-            搴撲綅楂樺害
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Priority">
-            <summary>
-            浼樺厛绾�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.WmsPlaceOutput.WmsArea">
-            <summary>
-            搴撳尯淇℃伅杈撳嚭鍙傛暟
-            </summary>
         </member>
         <member name="T:Admin.NET.Application.WmsWarehouseEntranceDto">
             <summary>
@@ -15476,9 +14076,510 @@
             淇敼鑰呭悕绉�
             </summary>
         </member>
+        <member name="T:Admin.NET.Application.WmsAreaSearch">
+            <summary>
+            搴撳尯淇℃伅鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaCode">
+            <summary>
+            搴撳尯缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.WarehouseCode">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.WarehouseName">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaDesc">
+            <summary>
+            搴撳尯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.AreaStatus">
+            <summary>
+            搴撳尯鐘舵��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.ErpCode">
+            <summary>
+            ERP浠g爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.WarehouseId">
+            <summary>
+            鎵�灞炰粨搴�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsBarcodeLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsFIFO">
+            <summary>
+            妫�楠屽厛杩涘厛鍑�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsPartLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsAllowConfusion">
+            <summary>
+            鍏佽娣锋穯
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsAllowNegativeInventory">
+            <summary>
+            鍏佽璐熷簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsAreaSearchNonPage">
+            <summary>
+            搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaCode">
+            <summary>
+            搴撳尯缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WarehouseCode">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WarehouseName">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaDesc">
+            <summary>
+            搴撳尯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.AreaStatus">
+            <summary>
+            搴撳尯鐘舵��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.ErpCode">
+            <summary>
+            ERP浠g爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.WarehouseId">
+            <summary>
+            鎵�灞炰粨搴�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsBarcodeLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsFIFO">
+            <summary>
+            妫�楠屽厛杩涘厛鍑�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsPartLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsAllowConfusion">
+            <summary>
+            鍏佽娣锋穯
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsAllowNegativeInventory">
+            <summary>
+            鍏佽璐熷簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsAreaInput">
+            <summary>
+            搴撳尯淇℃伅杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.AreaCode">
+            <summary>
+            搴撳尯缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.WarehouseCode">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.WarehouseName">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.AreaDesc">
+            <summary>
+            搴撳尯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.AreaStatus">
+            <summary>
+            搴撳尯鐘舵��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.ErpCode">
+            <summary>
+            ERP浠g爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.WarehouseId">
+            <summary>
+            鎵�灞炰粨搴�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsBarcodeLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsFIFO">
+            <summary>
+            妫�楠屽厛杩涘厛鍑�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsPartLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsAllowConfusion">
+            <summary>
+            鍏佽娣锋穯
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsAllowNegativeInventory">
+            <summary>
+            鍏佽璐熷簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsAreaInput">
+            <summary>
+            搴撳尯淇℃伅鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsAreaInput">
+            <summary>
+            搴撳尯淇℃伅鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsAreaInput">
+            <summary>
+            搴撳尯淇℃伅鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsAreaInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsAreaInput">
+            <summary>
+            搴撳尯淇℃伅鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsAreaOutput">
+            <summary>
+            搴撳尯淇℃伅杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaCode">
+            <summary>
+            搴撳尯缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.WarehouseCode">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.WarehouseName">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaDesc">
+            <summary>
+            搴撳尯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.AreaStatus">
+            <summary>
+            搴撳尯鐘舵��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.ErpCode">
+            <summary>
+            ERP浠g爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.WarehouseId">
+            <summary>
+            鎵�灞炰粨搴�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsBarcodeLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsFIFO">
+            <summary>
+            妫�楠屽厛杩涘厛鍑�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsPartLevelControl">
+            <summary>
+            闆朵欢绾х鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsAllowConfusion">
+            <summary>
+            鍏佽娣锋穯
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsAllowNegativeInventory">
+            <summary>
+            鍏佽璐熷簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsAreaOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsAreaService">
+            <summary>
+            搴撳尯淇℃伅鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.Page(Admin.NET.Application.WmsAreaSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ搴撳尯淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.ListNonPageAsync(Admin.NET.Application.WmsAreaSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈠簱鍖轰俊鎭垪琛�
+            </summary>
+            <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(搴撳尯淇℃伅)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.Get(Admin.NET.Application.QueryeWmsAreaInput)">
+            <summary>
+            鑾峰彇搴撳尯淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.List(Admin.NET.Application.WmsAreaInput)">
+            <summary>
+            鑾峰彇搴撳尯淇℃伅鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.Add(Admin.NET.Application.AddWmsAreaInput)">
+            <summary>
+            澧炲姞搴撳尯淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.Delete(Admin.NET.Application.DeleteWmsAreaInput)">
+            <summary>
+            鍒犻櫎搴撳尯淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.Update(Admin.NET.Application.UpdateWmsAreaInput)">
+            <summary>
+            鏇存柊搴撳尯淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆搴撳尯淇℃伅鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.CommonImport(System.Data.DataTable,System.Int32)">
+            <summary>
+             DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+            </summary>
+            <param name="dataTable"></param>
+            <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.CheckExisit(Admin.NET.Core.WmsArea,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsAreaService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsArea})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
         <member name="T:Admin.NET.Application.WmsContainerPackagingSearch">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�
+            瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.ContainerTypeId">
@@ -15533,7 +14634,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsContainerPackagingSearchNonPage">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+            瀹瑰櫒鍏崇郴涓嶅垎椤垫煡璇㈠弬鏁�
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.ContainerTypeId">
@@ -15588,7 +14689,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsContainerPackagingInput">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍏ュ弬鏁�
+            瀹瑰櫒鍏崇郴杈撳叆鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsContainerPackagingInput.ContainerTypeId">
@@ -15623,17 +14724,17 @@
         </member>
         <member name="T:Admin.NET.Application.AddWmsContainerPackagingInput">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄦ柊澧炲弬鏁�
+            瀹瑰櫒鍏崇郴鏂板鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.DeleteWmsContainerPackagingInput">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄥ垹闄ゅ弬鏁�
+            瀹瑰櫒鍏崇郴鍒犻櫎鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.UpdateWmsContainerPackagingInput">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄦ洿鏂板弬鏁�
+            瀹瑰櫒鍏崇郴鏇存柊鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.UpdateWmsContainerPackagingInput.Id">
@@ -15643,12 +14744,12 @@
         </member>
         <member name="T:Admin.NET.Application.QueryeWmsContainerPackagingInput">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄨ幏鍙栧崟涓弬鏁�
+            瀹瑰櫒鍏崇郴鑾峰彇鍗曚釜鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.WmsContainerPackagingOutput">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍑哄弬鏁�
+            瀹瑰櫒鍏崇郴杈撳嚭鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.ContainerTypeId">
@@ -15708,61 +14809,61 @@
         </member>
         <member name="T:Admin.NET.Application.WmsContainerPackagingService">
             <summary>
-            瀹瑰櫒鍏崇郴鍩虹琛ㄦ湇鍔�
+            瀹瑰櫒鍏崇郴鏈嶅姟
             </summary>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.Page(Admin.NET.Application.WmsContainerPackagingSearch)">
             <summary>
-            鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴鍩虹琛�
+            鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.ListNonPageAsync(Admin.NET.Application.WmsContainerPackagingSearchNonPage)">
             <summary>
-            涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲熀纭�琛ㄥ垪琛�
+            涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲垪琛�
             </summary>
-            <param name="input">瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�</param>
-            <returns>(瀹瑰櫒鍏崇郴鍩虹琛�)瀹炰緥鍒楄〃</returns>
+            <param name="input">瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟</param>
+            <returns>(瀹瑰櫒鍏崇郴)瀹炰緥鍒楄〃</returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.Get(Admin.NET.Application.QueryeWmsContainerPackagingInput)">
             <summary>
-            鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛�
+            鑾峰彇瀹瑰櫒鍏崇郴
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.List(Admin.NET.Application.WmsContainerPackagingInput)">
             <summary>
-            鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛ㄥ垪琛�
+            鑾峰彇瀹瑰櫒鍏崇郴鍒楄〃
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.Add(Admin.NET.Application.AddWmsContainerPackagingInput)">
             <summary>
-            澧炲姞瀹瑰櫒鍏崇郴鍩虹琛�
+            澧炲姞瀹瑰櫒鍏崇郴
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.Delete(Admin.NET.Application.DeleteWmsContainerPackagingInput)">
             <summary>
-            鍒犻櫎瀹瑰櫒鍏崇郴鍩虹琛�
+            鍒犻櫎瀹瑰櫒鍏崇郴
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.Update(Admin.NET.Application.UpdateWmsContainerPackagingInput)">
             <summary>
-            鏇存柊瀹瑰櫒鍏崇郴鍩虹琛�
+            鏇存柊瀹瑰櫒鍏崇郴
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
             <summary>
-            Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍩虹琛ㄥ姛鑳�
+            Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍔熻兘
             </summary>
             <param name="file">Excel妯℃澘鏂囦欢</param>
             <returns>瀵煎叆鐨勮褰曟暟</returns>
@@ -15777,7 +14878,7 @@
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.DownloadExcelTemplate(System.String)">
             <summary>
-            鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘
+            鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘
             </summary>
             <param name="version">妯℃澘鐗堟湰</param>
             <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
@@ -15791,6 +14892,848 @@
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsContainerPackagingService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsContainerPackaging})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerTypeSearch">
+            <summary>
+            瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.TypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.TypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.IsAllowReclaim">
+            <summary>
+            鏄惁鍥炴敹
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.Unit">
+            <summary>
+            鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.UsagePeriod">
+            <summary>
+            浣跨敤鏈熼檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerTypeSearchNonPage">
+            <summary>
+            瀹瑰櫒绫诲瀷涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.TypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.TypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.IsAllowReclaim">
+            <summary>
+            鏄惁鍥炴敹
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.Unit">
+            <summary>
+            鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.UsagePeriod">
+            <summary>
+            浣跨敤鏈熼檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerTypeInput">
+            <summary>
+            瀹瑰櫒绫诲瀷杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeInput.TypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeInput.TypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeInput.IsAllowReclaim">
+            <summary>
+            鏄惁鍥炴敹
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeInput.Unit">
+            <summary>
+            鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeInput.UsagePeriod">
+            <summary>
+            浣跨敤鏈熼檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsContainerTypeInput">
+            <summary>
+            瀹瑰櫒绫诲瀷鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsContainerTypeInput">
+            <summary>
+            瀹瑰櫒绫诲瀷鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsContainerTypeInput">
+            <summary>
+            瀹瑰櫒绫诲瀷鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsContainerTypeInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsContainerTypeInput">
+            <summary>
+            瀹瑰櫒绫诲瀷鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerTypeOutput">
+            <summary>
+            瀹瑰櫒绫诲瀷杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.TypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.TypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.IsAllowReclaim">
+            <summary>
+            鏄惁鍥炴敹
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.Unit">
+            <summary>
+            鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.UsagePeriod">
+            <summary>
+            浣跨敤鏈熼檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerTypeOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerTypeService">
+            <summary>
+            瀹瑰櫒绫诲瀷鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.Page(Admin.NET.Application.WmsContainerTypeSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ瀹瑰櫒绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.ListNonPageAsync(Admin.NET.Application.WmsContainerTypeSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈠鍣ㄧ被鍨嬪垪琛�
+            </summary>
+            <param name="input">瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟</param>
+            <returns>(瀹瑰櫒绫诲瀷)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.Get(Admin.NET.Application.QueryeWmsContainerTypeInput)">
+            <summary>
+            鑾峰彇瀹瑰櫒绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.List(Admin.NET.Application.WmsContainerTypeInput)">
+            <summary>
+            鑾峰彇瀹瑰櫒绫诲瀷鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.Add(Admin.NET.Application.AddWmsContainerTypeInput)">
+            <summary>
+            澧炲姞瀹瑰櫒绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.Delete(Admin.NET.Application.DeleteWmsContainerTypeInput)">
+            <summary>
+            鍒犻櫎瀹瑰櫒绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.Update(Admin.NET.Application.UpdateWmsContainerTypeInput)">
+            <summary>
+            鏇存柊瀹瑰櫒绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆瀹瑰櫒绫诲瀷鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.CommonImport(System.Data.DataTable,System.Int32)">
+            <summary>
+             DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+            </summary>
+            <param name="dataTable"></param>
+            <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒绫诲瀷鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.CheckExisit(Admin.NET.Core.WmsContainerType,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerTypeService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsContainerType})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerSearch">
+            <summary>
+            瀹瑰櫒淇℃伅鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerTypeId">
+            <summary>
+            绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.ContainerTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.PackagingId">
+            <summary>
+            瀹瑰櫒鍏崇郴ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.SpecLength">
+            <summary>
+            闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.SpecWidth">
+            <summary>
+            瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.SpecHeight">
+            <summary>
+            楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.LimitLength">
+            <summary>
+            闄愰暱
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.LimitWidth">
+            <summary>
+            闄愬
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.LimitHeight">
+            <summary>
+            闄愰珮
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.MaxWeight">
+            <summary>
+            杞介噸涓婇檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.ParentContainerName">
+            <summary>
+            鐖跺鍣ㄥ悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.ParentContainerId">
+            <summary>
+            鐖跺鍣↖d
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerSearchNonPage">
+            <summary>
+            瀹瑰櫒淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerTypeId">
+            <summary>
+            绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ContainerTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.PackagingId">
+            <summary>
+            瀹瑰櫒鍏崇郴ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecLength">
+            <summary>
+            闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecWidth">
+            <summary>
+            瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.SpecHeight">
+            <summary>
+            楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitLength">
+            <summary>
+            闄愰暱
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitWidth">
+            <summary>
+            闄愬
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.LimitHeight">
+            <summary>
+            闄愰珮
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.MaxWeight">
+            <summary>
+            杞介噸涓婇檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ParentContainerName">
+            <summary>
+            鐖跺鍣ㄥ悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.ParentContainerId">
+            <summary>
+            鐖跺鍣↖d
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerInput">
+            <summary>
+            瀹瑰櫒淇℃伅杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerTypeId">
+            <summary>
+            绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.ContainerTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.PackagingId">
+            <summary>
+            瀹瑰櫒鍏崇郴ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.SpecLength">
+            <summary>
+            闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.SpecWidth">
+            <summary>
+            瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.SpecHeight">
+            <summary>
+            楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.LimitLength">
+            <summary>
+            闄愰暱
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.LimitWidth">
+            <summary>
+            闄愬
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.LimitHeight">
+            <summary>
+            闄愰珮
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.MaxWeight">
+            <summary>
+            杞介噸涓婇檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.ParentContainerName">
+            <summary>
+            鐖跺鍣ㄥ悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.ParentContainerId">
+            <summary>
+            鐖跺鍣↖d
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsContainerInput">
+            <summary>
+            瀹瑰櫒淇℃伅鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsContainerInput">
+            <summary>
+            瀹瑰櫒淇℃伅鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsContainerInput">
+            <summary>
+            瀹瑰櫒淇℃伅鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsContainerInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsContainerInput">
+            <summary>
+            瀹瑰櫒淇℃伅鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerOutput">
+            <summary>
+            瀹瑰櫒淇℃伅杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerTypeId">
+            <summary>
+            绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.ContainerTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.PackagingId">
+            <summary>
+            瀹瑰櫒鍏崇郴ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.SpecLength">
+            <summary>
+            闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.SpecWidth">
+            <summary>
+            瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.SpecHeight">
+            <summary>
+            楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.LimitLength">
+            <summary>
+            闄愰暱
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.LimitWidth">
+            <summary>
+            闄愬
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.LimitHeight">
+            <summary>
+            闄愰珮
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.MaxWeight">
+            <summary>
+            杞介噸涓婇檺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.ParentContainerName">
+            <summary>
+            鐖跺鍣ㄥ悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.ParentContainerId">
+            <summary>
+            鐖跺鍣↖d
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerService">
+            <summary>
+            瀹瑰櫒淇℃伅鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.Page(Admin.NET.Application.WmsContainerSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ瀹瑰櫒淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.ListNonPageAsync(Admin.NET.Application.WmsContainerSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈠鍣ㄤ俊鎭垪琛�
+            </summary>
+            <param name="input">瀹瑰櫒淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(瀹瑰櫒淇℃伅)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.Get(Admin.NET.Application.QueryeWmsContainerInput)">
+            <summary>
+            鑾峰彇瀹瑰櫒淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.List(Admin.NET.Application.WmsContainerInput)">
+            <summary>
+            鑾峰彇瀹瑰櫒淇℃伅鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.Add(Admin.NET.Application.AddWmsContainerInput)">
+            <summary>
+            澧炲姞瀹瑰櫒淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.Delete(Admin.NET.Application.DeleteWmsContainerInput)">
+            <summary>
+            鍒犻櫎瀹瑰櫒淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.Update(Admin.NET.Application.UpdateWmsContainerInput)">
+            <summary>
+            鏇存柊瀹瑰櫒淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆瀹瑰櫒淇℃伅鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.CommonImport(System.Data.DataTable,System.Int32)">
+            <summary>
+             DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+            </summary>
+            <param name="dataTable"></param>
+            <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒淇℃伅鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.CheckExisit(Admin.NET.Core.WmsContainer,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsContainer})">
             <summary>
             鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
             </summary>
@@ -16461,7 +16404,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsFactorySearch">
             <summary>
-            宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�
+            宸ュ巶淇℃伅鏌ヨ鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsFactorySearch.FactoryCode">
@@ -16506,7 +16449,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsFactorySearchNonPage">
             <summary>
-            宸ュ巶淇℃伅琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+            宸ュ巶淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsFactorySearchNonPage.FactoryCode">
@@ -16551,7 +16494,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsFactoryInput">
             <summary>
-            宸ュ巶淇℃伅琛ㄨ緭鍏ュ弬鏁�
+            宸ュ巶淇℃伅杈撳叆鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsFactoryInput.FactoryCode">
@@ -16576,17 +16519,17 @@
         </member>
         <member name="T:Admin.NET.Application.AddWmsFactoryInput">
             <summary>
-            宸ュ巶淇℃伅琛ㄦ柊澧炲弬鏁�
+            宸ュ巶淇℃伅鏂板鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.DeleteWmsFactoryInput">
             <summary>
-            宸ュ巶淇℃伅琛ㄥ垹闄ゅ弬鏁�
+            宸ュ巶淇℃伅鍒犻櫎鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.UpdateWmsFactoryInput">
             <summary>
-            宸ュ巶淇℃伅琛ㄦ洿鏂板弬鏁�
+            宸ュ巶淇℃伅鏇存柊鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.UpdateWmsFactoryInput.Id">
@@ -16596,12 +16539,12 @@
         </member>
         <member name="T:Admin.NET.Application.QueryeWmsFactoryInput">
             <summary>
-            宸ュ巶淇℃伅琛ㄨ幏鍙栧崟涓弬鏁�
+            宸ュ巶淇℃伅鑾峰彇鍗曚釜鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.WmsFactoryOutput">
             <summary>
-            宸ュ巶淇℃伅琛ㄨ緭鍑哄弬鏁�
+            宸ュ巶淇℃伅杈撳嚭鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsFactoryOutput.FactoryCode">
@@ -16651,61 +16594,61 @@
         </member>
         <member name="T:Admin.NET.Application.WmsFactoryService">
             <summary>
-            宸ュ巶淇℃伅琛ㄦ湇鍔�
+            宸ュ巶淇℃伅鏈嶅姟
             </summary>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.Page(Admin.NET.Application.WmsFactorySearch)">
             <summary>
-            鍒嗛〉鏌ヨ宸ュ巶淇℃伅琛�
+            鍒嗛〉鏌ヨ宸ュ巶淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.ListNonPageAsync(Admin.NET.Application.WmsFactorySearchNonPage)">
             <summary>
-            涓嶅垎椤垫煡璇㈠伐鍘備俊鎭〃鍒楄〃
+            涓嶅垎椤垫煡璇㈠伐鍘備俊鎭垪琛�
             </summary>
-            <param name="input">宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�</param>
-            <returns>(宸ュ巶淇℃伅琛�)瀹炰緥鍒楄〃</returns>
+            <param name="input">宸ュ巶淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(宸ュ巶淇℃伅)瀹炰緥鍒楄〃</returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.Get(Admin.NET.Application.QueryeWmsFactoryInput)">
             <summary>
-            鑾峰彇宸ュ巶淇℃伅琛�
+            鑾峰彇宸ュ巶淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.List(Admin.NET.Application.WmsFactoryInput)">
             <summary>
-            鑾峰彇宸ュ巶淇℃伅琛ㄥ垪琛�
+            鑾峰彇宸ュ巶淇℃伅鍒楄〃
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.Add(Admin.NET.Application.AddWmsFactoryInput)">
             <summary>
-            澧炲姞宸ュ巶淇℃伅琛�
+            澧炲姞宸ュ巶淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.Delete(Admin.NET.Application.DeleteWmsFactoryInput)">
             <summary>
-            鍒犻櫎宸ュ巶淇℃伅琛�
+            鍒犻櫎宸ュ巶淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.Update(Admin.NET.Application.UpdateWmsFactoryInput)">
             <summary>
-            鏇存柊宸ュ巶淇℃伅琛�
+            鏇存柊宸ュ巶淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
             <summary>
-            Excel妯℃澘瀵煎叆宸ュ巶淇℃伅琛ㄥ姛鑳�
+            Excel妯℃澘瀵煎叆宸ュ巶淇℃伅鍔熻兘
             </summary>
             <param name="file">Excel妯℃澘鏂囦欢</param>
             <returns>瀵煎叆鐨勮褰曟暟</returns>
@@ -16720,7 +16663,7 @@
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.DownloadExcelTemplate(System.String)">
             <summary>
-            鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘
+            鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘
             </summary>
             <param name="version">妯℃澘鐗堟湰</param>
             <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
@@ -18008,6 +17951,927 @@
             <param name="inputs"></param>
             <returns></returns>
         </member>
+        <member name="T:Admin.NET.Application.WmsPlaceSearch">
+            <summary>
+            搴撲綅淇℃伅鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceCode">
+            <summary>
+            搴撲綅缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceName">
+            <summary>
+            搴撲綅鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceAlias">
+            <summary>
+            搴撲綅鍒悕
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceType">
+            <summary>
+            搴撲綅绫诲瀷
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceTypeName">
+            <summary>
+            搴撲綅绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.StockUnit">
+            <summary>
+            瀛樻斁鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.PlaceStatus">
+            <summary>
+            搴撲綅灞炴��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsSrmPlace">
+            <summary>
+            鏄惁鍫嗗灈鏈哄簱浣�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.SrmPlaceNo">
+            <summary>
+            鍫嗗灈鏈哄簱浣嶅彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsRgvPlace">
+            <summary>
+            鏄惁RGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.RgvPlaceNo">
+            <summary>
+            RGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsAgvPlace">
+            <summary>
+            鏄惁AGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.AgvPlaceNo">
+            <summary>
+            AGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsTransPlace">
+            <summary>
+            鏄惁杈撻�佺嚎搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.TransPlaceNo">
+            <summary>
+            杈撻�佺嚎搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsActivateWCS">
+            <summary>
+            鏄惁婵�娲讳笌浠诲姟璋冨害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Environment">
+            <summary>
+            搴撳瓨鐜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.AreaCode">
+            <summary>
+            搴撳尯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.AreaId">
+            <summary>
+            鎵�鍦ㄥ簱鍖�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.VerificationCode">
+            <summary>
+            妫�楠岀爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.RowNo">
+            <summary>
+            鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.ColumnNo">
+            <summary>
+            鍒�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.LayerNo">
+            <summary>
+            灞�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.LaneNo">
+            <summary>
+            宸烽亾
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Xzb">
+            <summary>
+            搴撲綅X鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Yzb">
+            <summary>
+            搴撲綅Y鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Zzb">
+            <summary>
+            搴撲綅Z鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Length">
+            <summary>
+            搴撲綅闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Width">
+            <summary>
+            搴撲綅瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.Height">
+            <summary>
+            搴撲綅楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.MaxWeight">
+            <summary>
+            鏈�澶ф壙閲�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.InSequence">
+            <summary>
+            鍏ュ簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.OutSequence">
+            <summary>
+            鍑哄簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsPlaceSearchNonPage">
+            <summary>
+            搴撲綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceCode">
+            <summary>
+            搴撲綅缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceName">
+            <summary>
+            搴撲綅鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceAlias">
+            <summary>
+            搴撲綅鍒悕
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceType">
+            <summary>
+            搴撲綅绫诲瀷
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceTypeName">
+            <summary>
+            搴撲綅绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.StockUnit">
+            <summary>
+            瀛樻斁鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.PlaceStatus">
+            <summary>
+            搴撲綅灞炴��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsSrmPlace">
+            <summary>
+            鏄惁鍫嗗灈鏈哄簱浣�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.SrmPlaceNo">
+            <summary>
+            鍫嗗灈鏈哄簱浣嶅彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsRgvPlace">
+            <summary>
+            鏄惁RGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.RgvPlaceNo">
+            <summary>
+            RGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsAgvPlace">
+            <summary>
+            鏄惁AGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AgvPlaceNo">
+            <summary>
+            AGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsTransPlace">
+            <summary>
+            鏄惁杈撻�佺嚎搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.TransPlaceNo">
+            <summary>
+            杈撻�佺嚎搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsActivateWCS">
+            <summary>
+            鏄惁婵�娲讳笌浠诲姟璋冨害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Environment">
+            <summary>
+            搴撳瓨鐜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AreaCode">
+            <summary>
+            搴撳尯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AreaId">
+            <summary>
+            鎵�鍦ㄥ簱鍖�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.VerificationCode">
+            <summary>
+            妫�楠岀爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.RowNo">
+            <summary>
+            鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.ColumnNo">
+            <summary>
+            鍒�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.LayerNo">
+            <summary>
+            灞�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.LaneNo">
+            <summary>
+            宸烽亾
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Xzb">
+            <summary>
+            搴撲綅X鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Yzb">
+            <summary>
+            搴撲綅Y鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Zzb">
+            <summary>
+            搴撲綅Z鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Length">
+            <summary>
+            搴撲綅闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Width">
+            <summary>
+            搴撲綅瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.Height">
+            <summary>
+            搴撲綅楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.MaxWeight">
+            <summary>
+            鏈�澶ф壙閲�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.InSequence">
+            <summary>
+            鍏ュ簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.OutSequence">
+            <summary>
+            鍑哄簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsPlaceInput">
+            <summary>
+            搴撲綅淇℃伅杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceCode">
+            <summary>
+            搴撲綅缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceName">
+            <summary>
+            搴撲綅鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceAlias">
+            <summary>
+            搴撲綅鍒悕
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceType">
+            <summary>
+            搴撲綅绫诲瀷
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceTypeName">
+            <summary>
+            搴撲綅绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.StockUnit">
+            <summary>
+            瀛樻斁鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.PlaceStatus">
+            <summary>
+            搴撲綅灞炴��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsSrmPlace">
+            <summary>
+            鏄惁鍫嗗灈鏈哄簱浣�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.SrmPlaceNo">
+            <summary>
+            鍫嗗灈鏈哄簱浣嶅彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsRgvPlace">
+            <summary>
+            鏄惁RGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.RgvPlaceNo">
+            <summary>
+            RGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsAgvPlace">
+            <summary>
+            鏄惁AGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.AgvPlaceNo">
+            <summary>
+            AGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsTransPlace">
+            <summary>
+            鏄惁杈撻�佺嚎搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.TransPlaceNo">
+            <summary>
+            杈撻�佺嚎搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsActivateWCS">
+            <summary>
+            鏄惁婵�娲讳笌浠诲姟璋冨害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Environment">
+            <summary>
+            搴撳瓨鐜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.AreaCode">
+            <summary>
+            搴撳尯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.AreaId">
+            <summary>
+            鎵�鍦ㄥ簱鍖�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.VerificationCode">
+            <summary>
+            妫�楠岀爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.RowNo">
+            <summary>
+            鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.ColumnNo">
+            <summary>
+            鍒�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.LayerNo">
+            <summary>
+            灞�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.LaneNo">
+            <summary>
+            宸烽亾
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Xzb">
+            <summary>
+            搴撲綅X鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Yzb">
+            <summary>
+            搴撲綅Y鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Zzb">
+            <summary>
+            搴撲綅Z鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Length">
+            <summary>
+            搴撲綅闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Width">
+            <summary>
+            搴撲綅瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.Height">
+            <summary>
+            搴撲綅楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.MaxWeight">
+            <summary>
+            鏈�澶ф壙閲�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.InSequence">
+            <summary>
+            鍏ュ簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.OutSequence">
+            <summary>
+            鍑哄簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsPlaceInput">
+            <summary>
+            搴撲綅淇℃伅鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsPlaceInput">
+            <summary>
+            搴撲綅淇℃伅鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsPlaceInput">
+            <summary>
+            搴撲綅淇℃伅鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsPlaceInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsPlaceInput">
+            <summary>
+            搴撲綅淇℃伅鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsPlaceOutput">
+            <summary>
+            搴撲綅淇℃伅杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceCode">
+            <summary>
+            搴撲綅缂栫爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceName">
+            <summary>
+            搴撲綅鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceAlias">
+            <summary>
+            搴撲綅鍒悕
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceType">
+            <summary>
+            搴撲綅绫诲瀷
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceTypeName">
+            <summary>
+            搴撲綅绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.StockUnit">
+            <summary>
+            瀛樻斁鍗曚綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.PlaceStatus">
+            <summary>
+            搴撲綅灞炴��
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsSrmPlace">
+            <summary>
+            鏄惁鍫嗗灈鏈哄簱浣�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.SrmPlaceNo">
+            <summary>
+            鍫嗗灈鏈哄簱浣嶅彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsRgvPlace">
+            <summary>
+            鏄惁RGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.RgvPlaceNo">
+            <summary>
+            RGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsAgvPlace">
+            <summary>
+            鏄惁AGV搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.AgvPlaceNo">
+            <summary>
+            AGV搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsTransPlace">
+            <summary>
+            鏄惁杈撻�佺嚎搴撲綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.TransPlaceNo">
+            <summary>
+            杈撻�佺嚎搴撲綅鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsActivateWCS">
+            <summary>
+            鏄惁婵�娲讳笌浠诲姟璋冨害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Environment">
+            <summary>
+            搴撳瓨鐜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.AreaCode">
+            <summary>
+            搴撳尯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.AreaId">
+            <summary>
+            鎵�鍦ㄥ簱鍖�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.AreaName">
+            <summary>
+            搴撳尯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.VerificationCode">
+            <summary>
+            妫�楠岀爜
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.RowNo">
+            <summary>
+            鎺�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.ColumnNo">
+            <summary>
+            鍒�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.LayerNo">
+            <summary>
+            灞�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.LaneNo">
+            <summary>
+            宸烽亾
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Xzb">
+            <summary>
+            搴撲綅X鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Yzb">
+            <summary>
+            搴撲綅Y鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Zzb">
+            <summary>
+            搴撲綅Z鍧愭爣
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Length">
+            <summary>
+            搴撲綅闀垮害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Width">
+            <summary>
+            搴撲綅瀹藉害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Height">
+            <summary>
+            搴撲綅楂樺害
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.MaxWeight">
+            <summary>
+            鏈�澶ф壙閲�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.InSequence">
+            <summary>
+            鍏ュ簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.OutSequence">
+            <summary>
+            鍑哄簱椤哄簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsVirtually">
+            <summary>
+            鏄惁铏氭嫙
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsPlaceOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsPlaceService">
+            <summary>
+            搴撲綅淇℃伅鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.Page(Admin.NET.Application.WmsPlaceSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ搴撲綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.ListNonPageAsync(Admin.NET.Application.WmsPlaceSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭垪琛�
+            </summary>
+            <param name="input">搴撲綅淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(搴撲綅淇℃伅)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.Get(Admin.NET.Application.QueryeWmsPlaceInput)">
+            <summary>
+            鑾峰彇搴撲綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.List(Admin.NET.Application.WmsPlaceInput)">
+            <summary>
+            鑾峰彇搴撲綅淇℃伅鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.Add(Admin.NET.Application.AddWmsPlaceInput)">
+            <summary>
+            澧炲姞搴撲綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.Delete(Admin.NET.Application.DeleteWmsPlaceInput)">
+            <summary>
+            鍒犻櫎搴撲綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.Update(Admin.NET.Application.UpdateWmsPlaceInput)">
+            <summary>
+            鏇存柊搴撲綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆搴撲綅淇℃伅鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.CommonImport(System.Data.DataTable,System.Int32)">
+            <summary>
+             DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+            </summary>
+            <param name="dataTable"></param>
+            <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇搴撲綅淇℃伅鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.CheckExisit(Admin.NET.Core.WmsPlace,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsPlaceService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsPlace})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
         <member name="T:Admin.NET.Application.WmsSubstituteGoodSearch">
             <summary>
             鏇夸唬鍝佺鐞嗘煡璇㈠弬鏁�
@@ -18349,9 +19213,290 @@
             <param name="inputs"></param>
             <returns></returns>
         </member>
+        <member name="T:Admin.NET.Application.WmsUnitSearch">
+            <summary>
+            鍗曚綅淇℃伅鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.UnitCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.UnitName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.UnitDesc">
+            <summary>
+            鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsUnitSearchNonPage">
+            <summary>
+            鍗曚綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UnitCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UnitName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UnitDesc">
+            <summary>
+            鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsUnitInput">
+            <summary>
+            鍗曚綅淇℃伅杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitInput.UnitCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitInput.UnitName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitInput.UnitDesc">
+            <summary>
+            鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsUnitInput">
+            <summary>
+            鍗曚綅淇℃伅鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsUnitInput">
+            <summary>
+            鍗曚綅淇℃伅鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsUnitInput">
+            <summary>
+            鍗曚綅淇℃伅鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsUnitInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsUnitInput">
+            <summary>
+            鍗曚綅淇℃伅鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsUnitOutput">
+            <summary>
+            鍗曚綅淇℃伅杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.UnitCode">
+            <summary>
+            缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.UnitName">
+            <summary>
+            鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.UnitDesc">
+            <summary>
+            鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsUnitOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsUnitService">
+            <summary>
+            鍗曚綅淇℃伅鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.Page(Admin.NET.Application.WmsUnitSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ鍗曚綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.ListNonPageAsync(Admin.NET.Application.WmsUnitSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈠崟浣嶄俊鎭垪琛�
+            </summary>
+            <param name="input">鍗曚綅淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(鍗曚綅淇℃伅)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.Get(Admin.NET.Application.QueryeWmsUnitInput)">
+            <summary>
+            鑾峰彇鍗曚綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.List(Admin.NET.Application.WmsUnitInput)">
+            <summary>
+            鑾峰彇鍗曚綅淇℃伅鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.Add(Admin.NET.Application.AddWmsUnitInput)">
+            <summary>
+            澧炲姞鍗曚綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.Delete(Admin.NET.Application.DeleteWmsUnitInput)">
+            <summary>
+            鍒犻櫎鍗曚綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.Update(Admin.NET.Application.UpdateWmsUnitInput)">
+            <summary>
+            鏇存柊鍗曚綅淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆鍗曚綅淇℃伅鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.CommonImport(System.Data.DataTable,System.Int32)">
+            <summary>
+             DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+            </summary>
+            <param name="dataTable"></param>
+            <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇鍗曚綅淇℃伅鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.CheckExisit(Admin.NET.Core.WmsUnit,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsUnitService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsUnit})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
         <member name="T:Admin.NET.Application.WmsWarehouseSearch">
             <summary>
-            浠撳簱琛ㄦ煡璇㈠弬鏁�
+            浠撳簱淇℃伅鏌ヨ鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsWarehouseSearch.Code">
@@ -18431,7 +19576,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsWarehouseSearchNonPage">
             <summary>
-            浠撳簱琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+            浠撳簱淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Code">
@@ -18511,7 +19656,7 @@
         </member>
         <member name="T:Admin.NET.Application.WmsWarehouseInput">
             <summary>
-            浠撳簱琛ㄨ緭鍏ュ弬鏁�
+            浠撳簱淇℃伅杈撳叆鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsWarehouseInput.Code">
@@ -18571,17 +19716,17 @@
         </member>
         <member name="T:Admin.NET.Application.AddWmsWarehouseInput">
             <summary>
-            浠撳簱琛ㄦ柊澧炲弬鏁�
+            浠撳簱淇℃伅鏂板鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.DeleteWmsWarehouseInput">
             <summary>
-            浠撳簱琛ㄥ垹闄ゅ弬鏁�
+            浠撳簱淇℃伅鍒犻櫎鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.UpdateWmsWarehouseInput">
             <summary>
-            浠撳簱琛ㄦ洿鏂板弬鏁�
+            浠撳簱淇℃伅鏇存柊鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.UpdateWmsWarehouseInput.Id">
@@ -18591,12 +19736,12 @@
         </member>
         <member name="T:Admin.NET.Application.QueryeWmsWarehouseInput">
             <summary>
-            浠撳簱琛ㄨ幏鍙栧崟涓弬鏁�
+            浠撳簱淇℃伅鑾峰彇鍗曚釜鍙傛暟
             </summary>
         </member>
         <member name="T:Admin.NET.Application.WmsWarehouseOutput">
             <summary>
-            浠撳簱琛ㄨ緭鍑哄弬鏁�
+            浠撳簱淇℃伅杈撳嚭鍙傛暟
             </summary>
         </member>
         <member name="P:Admin.NET.Application.WmsWarehouseOutput.Code">
@@ -18681,61 +19826,61 @@
         </member>
         <member name="T:Admin.NET.Application.WmsWarehouseService">
             <summary>
-            浠撳簱琛ㄦ湇鍔�
+            浠撳簱淇℃伅鏈嶅姟
             </summary>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.Page(Admin.NET.Application.WmsWarehouseSearch)">
             <summary>
-            鍒嗛〉鏌ヨ浠撳簱琛�
+            鍒嗛〉鏌ヨ浠撳簱淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.ListNonPageAsync(Admin.NET.Application.WmsWarehouseSearchNonPage)">
             <summary>
-            涓嶅垎椤垫煡璇粨搴撹〃鍒楄〃
+            涓嶅垎椤垫煡璇粨搴撲俊鎭垪琛�
             </summary>
-            <param name="input">浠撳簱琛ㄦ煡璇㈠弬鏁�</param>
-            <returns>(浠撳簱琛�)瀹炰緥鍒楄〃</returns>
+            <param name="input">浠撳簱淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(浠撳簱淇℃伅)瀹炰緥鍒楄〃</returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.Get(Admin.NET.Application.QueryeWmsWarehouseInput)">
             <summary>
-            鑾峰彇浠撳簱琛�
+            鑾峰彇浠撳簱淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.List(Admin.NET.Application.WmsWarehouseInput)">
             <summary>
-            鑾峰彇浠撳簱琛ㄥ垪琛�
+            鑾峰彇浠撳簱淇℃伅鍒楄〃
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.Add(Admin.NET.Application.AddWmsWarehouseInput)">
             <summary>
-            澧炲姞浠撳簱琛�
+            澧炲姞浠撳簱淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.Delete(Admin.NET.Application.DeleteWmsWarehouseInput)">
             <summary>
-            鍒犻櫎浠撳簱琛�
+            鍒犻櫎浠撳簱淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.Update(Admin.NET.Application.UpdateWmsWarehouseInput)">
             <summary>
-            鏇存柊浠撳簱琛�
+            鏇存柊浠撳簱淇℃伅
             </summary>
             <param name="input"></param>
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
             <summary>
-            Excel妯℃澘瀵煎叆浠撳簱琛ㄥ姛鑳�
+            Excel妯℃澘瀵煎叆浠撳簱淇℃伅鍔熻兘
             </summary>
             <param name="file">Excel妯℃澘鏂囦欢</param>
             <returns>瀵煎叆鐨勮褰曟暟</returns>
@@ -18750,7 +19895,7 @@
         </member>
         <member name="M:Admin.NET.Application.WmsWarehouseService.DownloadExcelTemplate(System.String)">
             <summary>
-            鏍规嵁鐗堟湰涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘
+            鏍规嵁鐗堟湰涓嬭浇浠撳簱淇℃伅鐨凟xcel瀵煎叆妯℃澘
             </summary>
             <param name="version">妯℃澘鐗堟湰</param>
             <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
@@ -26049,196 +27194,6 @@
             鍗曟嵁缂栧彿
             </summary>
         </member>
-        <member name="T:Admin.NET.Application.GetSortInfoOutput">
-            <summary>
-            鑾峰彇鎵樼洏鐗╂枡鍒嗘嫞鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetSortInfoOutput.WmsContainer">
-            <summary>
-            瀹瑰櫒
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetSortInfoOutput.WmsSortOrderList">
-            <summary>
-            鍒嗘嫞淇℃伅
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.SortPdaPageOutput">
-            <summary>
-            鍒嗛〉鑾峰彇鍒嗘嫞鍗�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.OrderLargeCategory">
-            <summary>
-            鍗曟嵁澶х被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.OrderSubclass">
-            <summary>
-            鍗曟嵁灏忕被
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.MoveType">
-            <summary>
-            浜嬪姟绫诲瀷
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.SOID">
-            <summary>
-            涓婁綅绯荤粺鍗曟嵁鍞竴璇嗗埆鐮�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.NO">
-            <summary>
-            鍗曟嵁缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.Billdate">
-            <summary>
-            棰嗘枡鍗曠敵璇锋棩鏈�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.WBSElementcode">
-            <summary>
-            棰嗙敤椤圭洰鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.BenefitingDepartcode">
-            <summary>
-            棰嗘枡閮ㄩ棬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.CostCenterID">
-            <summary>
-            鍙楃泭閮ㄩ棬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.FI_Client_Analysis_H">
-            <summary>
-            瀹㈡埛
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.IsInnerCompany">
-            <summary>
-            鏄惁鍏徃闂翠氦鏄�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.PickerID">
-            <summary>
-            棰嗘枡浜�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.WarehouseCentername">
-            <summary>
-            浠撳偍涓績
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.Companyname">
-            <summary>
-            鍏徃
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.ConstructionTeamID">
-            <summary>
-            鏂藉伐闃�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.OrderStatus">
-            <summary>
-            鍗曟嵁鐘舵��
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaPageOutput.CreatedTime">
-            <summary>
-            鏃堕棿
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.SortPdaDetailPageOutput">
-            <summary>
-            鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.OrderNo">
-            <summary>
-            鏉ユ簮鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Materialcode">
-            <summary>
-            鐗╂枡缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Materialname">
-            <summary>
-            鐗╂枡鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.OrderDetailID">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ContainerOrderNo">
-            <summary>
-            鍒嗘嫞缁勭洏鍗曞彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ProjectCode">
-            <summary>
-            椤圭洰缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.TACode">
-            <summary>
-            TA鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.PartCode">
-            <summary>
-            鍒嗘鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.PlaceCode">
-            <summary>
-            搴撲綅缂栫爜
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ContainerCode">
-            <summary>
-            瀹瑰櫒缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.SortQuantity">
-            <summary>
-            鍒嗘嫞鏁�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.ActualQuantity">
-            <summary>
-            瀹為檯鍒嗘嫞鏁�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Remarks">
-            <summary>
-            澶囨敞
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.SortStatus">
-            <summary>
-            鐘舵��-鏈垎鎷1銆佸垎鎷e畬鎴恄2
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.SortPdaDetailPageOutput.Id">
-            <summary>
-            Id涓婚敭
-            </summary>
-        </member>
         <member name="T:Admin.NET.Application.AutomaticWarehouseService">
             <summary>
             Pda鍗婅嚜鍔ㄥ叆搴�
@@ -26585,146 +27540,6 @@
             鍗曟嵁缂栧彿
             </summary>
         </member>
-        <member name="T:Admin.NET.Application.GetContainerOutput">
-            <summary>
-            鑾峰彇鎵樼洏鍏ュ弬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetContainerOutput.ContainerCode">
-            <summary>
-            鎵樼洏鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetContainerOutput.WmsContainer">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GetContainerOutput.WmsMaterials">
-            <summary>
-            鐗╂枡淇℃伅
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.GroupDiskOutput">
-            <summary>
-            浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GroupDiskOutput.Containercode">
-            <summary>
-            鎵樼洏
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.GroupDiskOutput.OrderNo">
-            <summary>
-            缁勭洏鍗曟嵁
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.PadGetMaterialOutput">
-            <summary>
-            鐗╂枡杩斿洖鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.Id">
-            <summary>
-            Id  
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.OrderId">
-            <summary>
-            鍗曟嵁Id  
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.Materialname">
-            <summary>
-            鐗╂枡鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.Materialcode">
-            <summary>
-            鐗╂枡缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.Unit">
-            <summary>
-            鍩烘湰鍗曚綅    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.Qty">
-            <summary>
-            鏁伴噺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.SingleLength">
-            <summary>
-            鍗曟牴闀垮害 
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.TheoreticalWeight">
-            <summary>
-            鐞嗚閲嶉噺    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.Price">
-            <summary>
-            涓嶅惈绋庡崟浠�    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.SumPrice">
-            <summary>
-            鎴愭湰閲戦    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.ProjectCode">
-            <summary>
-            椤圭洰缂栧彿    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.ContractCode">
-            <summary>
-            鍚堝悓缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.TACode">
-            <summary>
-            TA鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.TradeName">
-            <summary>
-            鎶ュ叧鍝佸悕
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.ItemNo">
-            <summary>
-            鎶ュ叧椤瑰彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.CustomsUnitName">
-            <summary>
-            鎶ュ叧鍗曚綅
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.CustomsNum">
-            <summary>
-            鎶ュ叧鏁伴噺   
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.CustomsPrices">
-            <summary>
-            鎶ュ叧閲戦 
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.SpecialNeeds">
-            <summary>
-            鐗规畩瑕佹眰
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.PadGetMaterialOutput.OrderStatus">
-            <summary>
-            鍗曟嵁鐘舵��
-            </summary>
-        </member>
         <member name="T:Admin.NET.Application.GetOrderDetailInput">
             <summary>
             鍗曟嵁鍙峰弬鏁�
@@ -26960,111 +27775,6 @@
         <member name="P:Admin.NET.Application.StockReturnPadGetMaterialInput.NO">
             <summary>
             鍗曟嵁缂栧彿
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.StockReturnGetContainerOutput">
-            <summary>
-            鑾峰彇鎵樼洏鍏ュ弬
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnGetContainerOutput.ContainerCode">
-            <summary>
-            鎵樼洏鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnGetContainerOutput.WmsContainer">
-            <summary>
-            
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnGetContainerOutput.WmsMaterials">
-            <summary>
-            鐗╂枡淇℃伅
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.StockReturnGroupDiskOutput">
-            <summary>
-            浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnGroupDiskOutput.Containercode">
-            <summary>
-            鎵樼洏
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnGroupDiskOutput.OrderNo">
-            <summary>
-            缁勭洏鍗曟嵁
-            </summary>
-        </member>
-        <member name="T:Admin.NET.Application.StockReturnPadGetMaterialOutput">
-            <summary>
-            鐗╂枡杩斿洖鍙傛暟
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.OrderId">
-            <summary>
-            鍗曟嵁Id  
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.OID">
-            <summary>
-            涓婁綅绯荤粺鍗曟嵁鏄庣粏鍞竴璇嗗埆鐮�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Materialcode">
-            <summary>
-            鐗╂枡缂栧彿
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Materialname">
-            <summary>
-            鐗╂枡鍚嶇О
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Unit">
-            <summary>
-            鍩烘湰鍗曚綅    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Qty">
-            <summary>
-            鏁伴噺
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Length">
-            <summary>
-            鍗曟牴闀垮害 
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Number">
-            <summary>
-            浠舵暟    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Batchno_SCM">
-            <summary>
-            SCM鎵规鍙�    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.Batchno_WMS">
-            <summary>
-            WMS鎵规鍙�    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.ProjectCode">
-            <summary>
-            椤圭洰缂栧彿    
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.TACode">
-            <summary>
-            TA鍙�
-            </summary>
-        </member>
-        <member name="P:Admin.NET.Application.StockReturnPadGetMaterialOutput.PartCode">
-            <summary>
-            鍒嗘鍙�
             </summary>
         </member>
         <member name="T:Admin.NET.Application.GetWareHouseInReportFormsInput">
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs
index 5393a8a..8362310 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/BindEntrance/Dto/BindEntranceOutput.cs
@@ -1,124 +1,124 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Admin.NET.Core;
+锘�//using System;
+//using System.Collections.Generic;
+//using System.Linq;
+//using System.Text;
+//using System.Threading.Tasks;
+//using Admin.NET.Core;
 
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 缁勭洏鐗╂枡淇℃伅
-    /// </summary>
-    public class BindEntranceOutput
-    {
+//namespace Admin.NET.Application
+//{
+//    /// <summary>
+//    /// 缁勭洏鐗╂枡淇℃伅
+//    /// </summary>
+//    public class BindEntranceOutput
+//    {
 
-        /// <summary>
-        /// 鍛ㄨ浆绠卞彿
-        /// </summary>
-        public string ContainerCode { get; set; }
+//        /// <summary>
+//        /// 鍛ㄨ浆绠卞彿
+//        /// </summary>
+//        public string ContainerCode { get; set; }
 
-        /// <summary>
-        /// 鏂欑鍙蜂俊鎭�
-        /// </summary>
-        public WmsContainerDto WmsContainer { get; set; }
-        /// <summary>
-        /// 搴撲綅缂栧彿
-        /// </summary>
-        public string PlaceCode { get; set; }
+//        /// <summary>
+//        /// 鏂欑鍙蜂俊鎭�
+//        /// </summary>
+//        public WmsContainerDto WmsContainer { get; set; }
+//        /// <summary>
+//        /// 搴撲綅缂栧彿
+//        /// </summary>
+//        public string PlaceCode { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鏄庣粏淇℃伅
-        /// </summary>
-        public List<GetMaterialContainerOutput> WmsMaterials { get; set; }
-    }
+//        /// <summary>
+//        /// 鐗╂枡鏄庣粏淇℃伅
+//        /// </summary>
+//        public List<GetMaterialContainerOutput> WmsMaterials { get; set; }
+//    }
 
-    /// <summary>
-    ///  鐗╂枡鏄庣粏淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class GetMaterialContainerOutput
-    {
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string MaterialName { get; set; }
+//    /// <summary>
+//    ///  鐗╂枡鏄庣粏淇℃伅杈撳嚭鍙傛暟
+//    /// </summary>
+//    public class GetMaterialContainerOutput
+//    {
+//        /// <summary>
+//        /// 鐗╂枡鍚嶇О
+//        /// </summary>
+//        public string MaterialName { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡缂栧彿
-        /// </summary>
-        public string MaterialNo { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡缂栧彿
+//        /// </summary>
+//        public string MaterialNo { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鎵规
-        /// </summary>
-        public string MaterialBatch { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡鎵规
+//        /// </summary>
+//        public string MaterialBatch { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀
-        /// </summary>
-        public MaterialType MaterialType { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀
+//        /// </summary>
+//        public MaterialType MaterialType { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡妫�楠�
-        /// </summary>
-        public MaterialInspection InspectionMethod { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡妫�楠�
+//        /// </summary>
+//        public MaterialInspection InspectionMethod { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡瑙勬牸
-        /// </summary>
-        public string MaterialSpec { get; set; }
-    }
+//        /// <summary>
+//        /// 鐗╂枡瑙勬牸
+//        /// </summary>
+//        public string MaterialSpec { get; set; }
+//    }
 
 
-    public class MaterialOutput
-    {
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string MaterialName { get; set; }
+//    public class MaterialOutput
+//    {
+//        /// <summary>
+//        /// 鐗╂枡鍚嶇О
+//        /// </summary>
+//        public string MaterialName { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡缂栧彿
-        /// </summary>
-        public string MaterialNo { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡缂栧彿
+//        /// </summary>
+//        public string MaterialNo { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡ID
-        /// </summary>
-        public long MaterialId { get; set; }
-        /// <summary>
-        /// 鐗╂枡鎵规
-        /// </summary>
-        public string MaterialBatch { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡ID
+//        /// </summary>
+//        public long MaterialId { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡鎵规
+//        /// </summary>
+//        public string MaterialBatch { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀
-        /// </summary>
-        public MaterialType MaterialType { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡绫诲埆;鏁版嵁瀛楀吀
+//        /// </summary>
+//        public MaterialType MaterialType { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡妫�楠�
-        /// </summary>
-        public MaterialInspection InspectionMethod { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡妫�楠�
+//        /// </summary>
+//        public MaterialInspection InspectionMethod { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡瑙勬牸
-        /// </summary>
-        public string MaterialSpec { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡瑙勬牸
+//        /// </summary>
+//        public string MaterialSpec { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡瀵嗗害
-        /// </summary>
-        public string MaterialDensity { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡瀵嗗害
+//        /// </summary>
+//        public string MaterialDensity { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鍗曚綅
-        /// </summary>
-        public string MaterialUnit { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡鍗曚綅
+//        /// </summary>
+//        public string MaterialUnit { get; set; }
 
-        /// <summary>
-        /// 宸ユ
-        /// </summary>
-        public LesWorkshopSection LesWorkshopSection { get; set; }
-    }
-}
+//        /// <summary>
+//        /// 宸ユ
+//        /// </summary>
+//        public LesWorkshopSection LesWorkshopSection { get; set; }
+//    }
+//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaDto.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaDto.cs
deleted file mode 100644
index 434e4c8..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaDto.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-锘縰sing Admin.NET.Core;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 搴撳尯淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class WmsAreaDto
-    {
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        public string AreaName { get; set; }
-        
-        /// <summary>
-        /// 鎻忚堪
-        /// </summary>
-        public string AreaDesc { get; set; }
-        
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public CommonStatus AreaStatus { get; set; }
-        
-        /// <summary>
-        /// 鍒嗙被
-        /// </summary>
-        public AreaType AreaType { get; set; }
-        
-        /// <summary>
-        /// 鏄惁涓洪挗骞冲彴
-        /// </summary>
-        public bool IsSteel { get; set; }
-        
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public LesWorkShopType WorkShopType { get; set; }
-        
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-        
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public IssueState IssueState { get; set; }
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaInput.cs
deleted file mode 100644
index 32d5fa7..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaInput.cs
+++ /dev/null
@@ -1,163 +0,0 @@
-锘縰sing System.ComponentModel.DataAnnotations;
-using Admin.NET.Core;
-using Admin.NET.Core.Service;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 搴撳尯淇℃伅鏌ヨ鍙傛暟
-    /// </summary>
-    public class WmsAreaSearch : PageInputBase
-    {
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        public virtual string AreaName { get; set; }
-
-        /// <summary>
-        /// 鎻忚堪
-        /// </summary>
-        public virtual string AreaDesc { get; set; }
-
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public virtual CommonStatus? AreaStatus { get; set; }
-
-        /// <summary>
-        /// 鍒嗙被
-        /// </summary>
-        public virtual AreaType? AreaType { get; set; }
-
-        /// <summary>
-        /// 鏄惁涓洪挗骞冲彴
-        /// </summary>
-        public virtual bool? IsSteel { get; set; }
-
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public virtual LesWorkShopType? WorkShopType { get; set; }
-
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public virtual IssueState? IssueState { get; set; }
-    }
-
-    /// <summary>
-    /// 搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
-    /// </summary>
-    public class WmsAreaSearchNonPage : PageInputNonPageBase
-    {
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        public virtual string AreaName { get; set; }
-
-        /// <summary>
-        /// 鎻忚堪
-        /// </summary>
-        public virtual string AreaDesc { get; set; }
-
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public virtual CommonStatus? AreaStatus { get; set; }
-
-        /// <summary>
-        /// 鍒嗙被
-        /// </summary>
-        public virtual AreaType? AreaType { get; set; }
-
-        /// <summary>
-        /// 鏄惁涓洪挗骞冲彴
-        /// </summary>
-        public virtual bool? IsSteel { get; set; }
-
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public virtual LesWorkShopType? WorkShopType { get; set; }
-
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public virtual IssueState? IssueState { get; set; }
-    }
-
-    /// <summary>
-    /// 搴撳尯淇℃伅杈撳叆鍙傛暟
-    /// </summary>
-    public class WmsAreaInput
-    {
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        public virtual string AreaName { get; set; }
-
-        /// <summary>
-        /// 鎻忚堪
-        /// </summary>
-        public virtual string AreaDesc { get; set; }
-
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public virtual CommonStatus AreaStatus { get; set; }
-
-        /// <summary>
-        /// 鍒嗙被
-        /// </summary>
-        public virtual AreaType AreaType { get; set; }
-
-        /// <summary>
-        /// 鏄惁涓洪挗骞冲彴
-        /// </summary>
-        public virtual bool IsSteel { get; set; }
-
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public virtual LesWorkShopType WorkShopType { get; set; }
-
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public virtual IssueState IssueState { get; set; }
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class AddWmsAreaInput : WmsAreaInput
-    {
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class DeleteWmsAreaInput : BaseId
-    {
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class UpdateWmsAreaInput : WmsAreaInput
-    {
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
-        public long Id { get; set; }
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class QueryeWmsAreaInput : BaseId
-    {
-
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaOutput.cs
deleted file mode 100644
index d2aaacc..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/Dto/WmsAreaOutput.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-锘縰sing Admin.NET.Core;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 搴撳尯淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class WmsAreaOutput
-    {
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        public string AreaName { get; set; }
-
-        /// <summary>
-        /// 鎻忚堪
-        /// </summary>
-        public string AreaDesc { get; set; }
-
-        /// <summary>
-        /// 鐘舵��
-        /// </summary>
-        public CommonStatus AreaStatus { get; set; }
-
-        /// <summary>
-        /// 鍒嗙被
-        /// </summary>
-        public AreaType AreaType { get; set; }
-
-        /// <summary>
-        /// 鏄惁涓洪挗骞冲彴
-        /// </summary>
-        public bool IsSteel { get; set; }
-
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public LesWorkShopType WorkShopType { get; set; }
-
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public IssueState IssueState { get; set; }
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/WmsAreaService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/WmsAreaService.cs
deleted file mode 100644
index 682c6a0..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsArea/WmsAreaService.cs
+++ /dev/null
@@ -1,313 +0,0 @@
-锘�//using Furion.DatabaseAccessor;
-//using Furion.DependencyInjection;
-//using Furion.DynamicApiController;
-//using Furion.FriendlyException;
-//using Mapster;
-//using Microsoft.AspNetCore.Http;
-//using Microsoft.AspNetCore.Mvc;
-//using Microsoft.EntityFrameworkCore;
-//using System.Linq.Dynamic.Core;
-//using System.Text;
-//using System.Web;
-//using Admin.NET.Core;
-
-//namespace Admin.NET.Application
-//{
-//    /// <summary>
-//    /// 搴撳尯淇℃伅鏈嶅姟
-//    /// </summary>
-//    [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsArea", Order = 100)]
-//    [Route("api/[Controller]")]
-//    public class WmsAreaService : IDynamicApiController, ITransient
-//    {
-//        private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep;
-//        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
-//        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
-//        private readonly ISysExcelTemplateService _sysExcelTemplateService;
-//        private readonly static object _lock = new();
-
-//        /// <summary>
-//        /// 鏋勯�犲嚱鏁�
-//        /// </summary>
-//        /// <param name="wmsAreaRep"></param>
-//        /// <param name="sysDictTypeRep"></param>
-//        /// <param name="sysDictDataRep"></param>
-//        /// <param name="sysExcelTemplateService"></param>
-//        public WmsAreaService(
-//            IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep,
-//            IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep,
-//            IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep,
-//            ISysExcelTemplateService sysExcelTemplateService
-//        )
-//        {
-//            _wmsAreaRep = wmsAreaRep;
-//            _sysDictTypeRep = sysDictTypeRep;
-//            _sysDictDataRep = sysDictDataRep;
-//            _sysExcelTemplateService = sysExcelTemplateService;
-//        }
-
-//        /// <summary>
-//        /// 鍒嗛〉鏌ヨ搴撳尯淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("page")]
-//        public async Task<PageResult<WmsAreaOutput>> Page([FromQuery] WmsAreaSearch input)
-//        {
-//            var wmsAreas = await _wmsAreaRep.DetachedEntities
-//                .Where(!string.IsNullOrEmpty(input.AreaName), u => EF.Functions.Like(u.AreaName, $"%{input.AreaName.Trim()}%"))
-//                .Where(input.AreaStatus != null, u => u.AreaStatus == input.AreaStatus)
-//                .Where(input.AreaType != null, u => u.AreaType == input.AreaType)
-//                .Where(input.IsSteel != null, u => u.IsSteel == input.IsSteel)
-//                .Where(input.WorkShopType != null, u => u.WorkShopType == input.WorkShopType)
-
-//                .OrderBy(PageInputOrder.OrderBuilder<WmsAreaSearch>(input))
-//                .ProjectToType<WmsAreaOutput>()
-//                .ToADPagedListAsync(input.PageNo, input.PageSize);
-//            return wmsAreas;
-//        }
-
-//        /// <summary>
-//        /// 涓嶅垎椤垫煡璇㈠簱鍖轰俊鎭垪琛�
-//        /// </summary>
-//        /// <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param>
-//        /// <returns>(搴撳尯淇℃伅)瀹炰緥鍒楄〃</returns>
-//        [HttpGet("listNonPage")]
-//        public async Task<List<WmsAreaOutput>> ListNonPageAsync([FromQuery] WmsAreaSearchNonPage input)
-//        {
-//            var pAreaName = input.AreaName?.Trim() ?? "";
-//            var pAreaStatus = input.AreaStatus;
-//            var pAreaType = input.AreaType;
-//            var pIsSteel = input.IsSteel;
-//            var pWorkShopType = input.WorkShopType;
-//            var pIssueState = input.IssueState;
-//            var wmsAreas = await _wmsAreaRep.DetachedEntities
-//                .Where(!string.IsNullOrEmpty(pAreaName), u => EF.Functions.Like(u.AreaName, $"%{pAreaName}%"))
-//                .Where(pAreaStatus != null, u => u.AreaStatus == pAreaStatus)
-//                .Where(pAreaType != null, u => u.AreaType == pAreaType)
-//                .Where(pIsSteel != null, u => u.IsSteel == pIsSteel)
-//                .Where(pWorkShopType != null, u => u.WorkShopType == pWorkShopType)
-
-//            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
-//            .ProjectToType<WmsAreaOutput>()
-//            .ToListAsync();
-//            return wmsAreas;
-//        }
-
-//        /// <summary>
-//        /// 澧炲姞搴撳尯淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("add")]
-//        public async Task Add(AddWmsAreaInput input)
-//        {
-//            var wmsArea = input.Adapt<WmsArea>();
-//            await _wmsAreaRep.InsertAsync(wmsArea);
-//        }
-
-//        /// <summary>
-//        /// 鍒犻櫎搴撳尯淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("delete")]
-//        public async Task Delete(DeleteWmsAreaInput input)
-//        {
-//            var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.Id == input.Id);
-//            await _wmsAreaRep.DeleteAsync(wmsArea);
-//        }
-
-//        /// <summary>
-//        /// 鏇存柊搴撳尯淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("edit")]
-//        public async Task Update(UpdateWmsAreaInput input)
-//        {
-//            var isExist = await _wmsAreaRep.AnyAsync(u => u.Id == input.Id, false);
-//            if (!isExist) throw Oops.Oh(ErrorCode.D3000);
-
-//            var wmsArea = input.Adapt<WmsArea>();
-//            await _wmsAreaRep.UpdateAsync(wmsArea, ignoreNullValues: true);
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇搴撳尯淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("detail")]
-//        public async Task<WmsAreaOutput> Get([FromQuery] QueryeWmsAreaInput input)
-//        {
-//            return (await _wmsAreaRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsAreaOutput>();
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇搴撳尯淇℃伅鍒楄〃
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("list")]
-//        public async Task<List<WmsAreaOutput>> List([FromQuery] WmsAreaInput input)
-//        {
-//            return await _wmsAreaRep.DetachedEntities.ProjectToType<WmsAreaOutput>().ToListAsync();
-//        }
-
-//        /// <summary>
-//        /// 缁勮杞﹂棿鑾峰彇搴撳尯
-//        /// </summary>
-//        /// <returns></returns>
-//        [HttpGet("TaskWmsArea")]
-//        public async Task<dynamic> TaskWmsArea()
-//        {
-//            var list = await _wmsAreaRep.DetachedEntities.Where(x => x.WorkShopType == LesWorkShopType.JIAOHEBANCHEJIAN).ToListAsync();
-//            return list.Select(e => new { Code = e.Id, AreaName = e.AreaName });
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇浠撳簱涓嬫媺妗�
-//        /// </summary>
-//        /// <returns></returns>
-//        [HttpGet("GetAreaEntranceList")]
-//        public async Task<List<AreaEntranceListOutput>> GetAreaEntranceList()
-//        {
-//            var data = await _wmsAreaRep.DetachedEntities.ProjectToType<WmsAreaOutput>().ToListAsync();
-//            List<AreaEntranceListOutput> areaEntranceListOutputLists = new List<AreaEntranceListOutput>();
-//            foreach (var item in data)
-//            {
-//                AreaEntranceListOutput areaEntranceListOutputList = new AreaEntranceListOutput();
-//                areaEntranceListOutputList.AreaId = item.Id;
-//                areaEntranceListOutputList.AreaName = item.AreaName;
-//                areaEntranceListOutputLists.Add(areaEntranceListOutputList);
-//            }
-//            return areaEntranceListOutputLists;
-//        }
-
-//        ///// <summary>
-//        ///// 鍑哄簱鍙d笅鎷夋
-//        ///// </summary>
-//        ///// <param name="input"></param>
-//        ///// <returns></returns>
-//        //[HttpGet("GetEntranceOutList")]
-//        //public async Task<List<EntranceListOutput>> GetEntranceOutList([FromQuery] EntranceOutInput input)
-//        //{
-//        //    var data = await _lesEntranceRep.DetachedEntities.Where(u => u.AreaId == input.Id && u.EntranceType == Core.LesEntranceType.CHUKU).ProjectToType<LesStationOutput>().ToListAsync();
-//        //    List<EntranceListOutput> entranceLists = new List<EntranceListOutput>();
-//        //    foreach (var item in data)
-//        //    {
-//        //        EntranceListOutput entranceList = new EntranceListOutput();
-//        //        entranceList.EntranceId = item.Id;
-//        //        entranceList.EntranceName = item.Name;
-//        //        entranceLists.Add(entranceList);
-//        //    }
-//        //    return entranceLists;
-//        //}
-
-//        /// <summary>
-//        /// Excel妯℃澘瀵煎叆搴撳尯淇℃伅鍔熻兘
-//        /// </summary>
-//        /// <param name="file">Excel妯℃澘鏂囦欢</param>
-//        /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param>
-//        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
-//        [HttpPost("fromExcel")]
-//        public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType)
-//        {
-//            int size = 200;
-//            var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsArea", "v2");
-//            if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002);
-//            var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>();
-//            for (var i = 0; i < keys.Length; i++)
-//            {
-//                keys[i] = keys[i]?.Trim() ?? string.Empty;
-//            }
-//            ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object>> data, out string sheetName);
-//            List<WmsAreaOutput> wmsAreaList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsAreaOutput> dict);
-//            List<Dictionary<string, object>> uniqueKeyValueDictList = wmsAreaList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName);
-//            var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsArea>(keys.ToList(), uniqueKeyValueDictList, size);
-//            var selectKeys = keys.ToList();
-//            if (!selectKeys.Contains("Id")) selectKeys.Add("Id");
-//            var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsArea, WmsAreaOutput>(selectKeys);
-//            List<WmsArea> updates = new();
-//            List<WmsArea> adds = new();
-
-//            lock (_lock)
-//            {
-//                foreach (var filter in filters)
-//                {
-//                    var wmsAreaExistSubList = _wmsAreaRep.Where(filter).Select(selector).ToList();
-//                    wmsAreaExistSubList.ForEach(x =>
-//                    {
-//                        var k = DataConvertUtil.GetKey(x, keys);
-//                        if (dict.ContainsKey(k)) dict[k].Id = x.Id;
-//                    });
-//                }
-
-//                foreach (var wmsArea in wmsAreaList)
-//                {
-//                    if (wmsArea.Id > 0)
-//                    {
-//                        if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsArea.Adapt<WmsArea>());
-//                    }
-//                    else
-//                    {
-//                        adds.Add(wmsArea.Adapt<WmsArea>());
-//                    }
-//                }
-
-//                if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsAreaRep.Update(x));
-
-//                var maxId = _wmsAreaRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault();
-//                adds.ForEach(x => x.Id = ++maxId);
-//                Db.GetDbContext().Set<WmsArea>().AddRange(adds);
-//                Db.GetDbContext().SaveChanges();
-//            }
-
-//            await Task.CompletedTask;
-//            return adds.Count;
-//        }
-
-//        /// <summary>
-//        /// 鏍规嵁鐗堟湰涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘
-//        /// </summary>
-//        /// <param name="version">妯℃澘鐗堟湰</param>
-//        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
-//        [HttpGet("downloadExcelTemplate")]
-//        public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version)
-//        {
-//            var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsArea", version);
-//            if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002);
-//            var path = Path.Combine(@"\", excelTemplate.TemplateFileName);
-//            Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName);
-//            var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8"));
-//            return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName };
-//        }
-
-//        /// <summary>
-//        /// 鏍规嵁搴撳尯淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel
-//        /// </summary>
-//        /// <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param>
-//        /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns>
-//        [HttpGet("toExcel")]
-//        public async Task<IActionResult> ToExcelAsync([FromQuery] WmsAreaSearchNonPage input)
-//        {
-//            var wmsAreaList = await ListNonPageAsync(input);
-//            MemoryStream ms = new();
-//            DataConvertUtil.ToExcelData(wmsAreaList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers,
-//                out List<List<object>> data, out string sheetName);
-//            var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsArea", "v1");
-//            if (excelTemplate != null)
-//            {
-//                ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms);
-//            }
-//            else
-//            {
-//                ExcelUtil.ToExcel(headers, data, sheetName, ms);
-//            }
-//            ms.Position = 0;
-//            var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8"));
-//            return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName };
-//        }
-//    }
-//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerDto.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerDto.cs
deleted file mode 100644
index 83a3c37..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerDto.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-锘縰sing Admin.NET.Core.Util.LowCode.Dto;
-using System;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 鎵樼洏淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class WmsContainerDto
-    {
-        /// <summary>
-        /// 缂栧彿
-        /// </summary>
-        public string ContainerCode { get; set; }
-        
-        /// <summary>
-        /// 绫诲瀷
-        /// </summary>
-        public Admin.NET.Core.ContainerType ContainerType { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鐘舵��
-        /// </summary>
-        public Admin.NET.Core.ContainerStatus ContainerStatus { get; set; }
-        
-        /// <summary>
-        /// 闀垮害
-        /// </summary>
-        public decimal SpecLength { get; set; }
-        
-        /// <summary>
-        /// 瀹藉害
-        /// </summary>
-        public decimal SpecWidth { get; set; }
-        
-        /// <summary>
-        /// 楂樺害
-        /// </summary>
-        public decimal SpecHeight { get; set; }
-        
-        /// <summary>
-        /// 闄愰暱
-        /// </summary>
-        public decimal LimitLength { get; set; }
-        
-        /// <summary>
-        /// 闄愬
-        /// </summary>
-        public decimal LimitWidth { get; set; }
-        
-        /// <summary>
-        /// 闄愰珮
-        /// </summary>
-        public decimal LimitHeight { get; set; }
-        
-        /// <summary>
-        /// 杞介噸涓婇檺
-        /// </summary>
-        public decimal MaxWeight { get; set; }
-        
-        /// <summary>
-        /// 鐖舵墭鐩業d
-        /// </summary>
-        public long ParentContainerId { get; set; }
-        
-        /// <summary>
-        /// 璧勪骇缂栧彿
-        /// </summary>
-        public string AssetNo { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鍒嗙被
-        /// </summary>
-        public Admin.NET.Core.ContainerCategory ContainerCategory { get; set; }
-        
-        /// <summary>
-        /// Erp鍗曞彿
-        /// </summary>
-        public string ErpNo { get; set; }
-        
-        /// <summary>
-        /// 鏄惁铏氭嫙
-        /// </summary>
-        public Admin.NET.Core.YesOrNot IsVirtually { get; set; }
-        
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public Admin.NET.Core.LesWorkShopType WorkShopType { get; set; }
-        
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-        
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public Admin.NET.Core.IssueState IssueState { get; set; }
-        
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerInput.cs
deleted file mode 100644
index aab8232..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerInput.cs
+++ /dev/null
@@ -1,311 +0,0 @@
-锘縰sing Admin.NET.Core;
-using Admin.NET.Core.Service;
-using System.ComponentModel.DataAnnotations;
-
-namespace Admin.NET.Application
-{    
-    
-    /// <summary>
-    /// 鎵樼洏淇℃伅鏌ヨ鍙傛暟
-    /// </summary>
-    public class WmsContainerSearch : PageInputBase
-    {
-        /// <summary>
-        /// 缂栧彿
-        /// </summary>
-        public virtual string ContainerCode { get; set; }
-        
-        /// <summary>
-        /// 绫诲瀷
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerType? ContainerType { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鐘舵��
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerStatus? ContainerStatus { get; set; }
-        
-        /// <summary>
-        /// 闀垮害
-        /// </summary>
-        public virtual decimal? SpecLength { get; set; }
-        
-        /// <summary>
-        /// 瀹藉害
-        /// </summary>
-        public virtual decimal? SpecWidth { get; set; }
-        
-        /// <summary>
-        /// 楂樺害
-        /// </summary>
-        public virtual decimal? SpecHeight { get; set; }
-        
-        /// <summary>
-        /// 闄愰暱
-        /// </summary>
-        public virtual decimal? LimitLength { get; set; }
-        
-        /// <summary>
-        /// 闄愬
-        /// </summary>
-        public virtual decimal? LimitWidth { get; set; }
-        
-        /// <summary>
-        /// 闄愰珮
-        /// </summary>
-        public virtual decimal? LimitHeight { get; set; }
-        
-        /// <summary>
-        /// 杞介噸涓婇檺
-        /// </summary>
-        public virtual decimal? MaxWeight { get; set; }
-        
-        /// <summary>
-        /// 鐖舵墭鐩業d
-        /// </summary>
-        public virtual long? ParentContainerId { get; set; }
-        
-        /// <summary>
-        /// 璧勪骇缂栧彿
-        /// </summary>
-        public virtual string AssetNo { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鍒嗙被
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerCategory? ContainerCategory { get; set; }
-        
-        /// <summary>
-        /// Erp鍗曞彿
-        /// </summary>
-        public virtual string ErpNo { get; set; }
-        
-        /// <summary>
-        /// 鏄惁铏氭嫙
-        /// </summary>
-        public virtual Admin.NET.Core.YesOrNot IsVirtually { get; set; }
-        
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public virtual Admin.NET.Core.LesWorkShopType? WorkShopType { get; set; }
-        
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public virtual Admin.NET.Core.IssueState IssueState { get; set; }
-        
-    }
-
-        /// <summary>
-    /// 鎵樼洏淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
-    /// </summary>
-    public class WmsContainerSearchNonPage : PageInputNonPageBase
-    {
-        /// <summary>
-        /// 缂栧彿
-        /// </summary>
-        public virtual string ContainerCode { get; set; }
-        
-        /// <summary>
-        /// 绫诲瀷
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerType? ContainerType { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鐘舵��
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerStatus? ContainerStatus { get; set; }
-        
-        /// <summary>
-        /// 闀垮害
-        /// </summary>
-        public virtual decimal? SpecLength { get; set; }
-        
-        /// <summary>
-        /// 瀹藉害
-        /// </summary>
-        public virtual decimal? SpecWidth { get; set; }
-        
-        /// <summary>
-        /// 楂樺害
-        /// </summary>
-        public virtual decimal? SpecHeight { get; set; }
-        
-        /// <summary>
-        /// 闄愰暱
-        /// </summary>
-        public virtual decimal? LimitLength { get; set; }
-        
-        /// <summary>
-        /// 闄愬
-        /// </summary>
-        public virtual decimal? LimitWidth { get; set; }
-        
-        /// <summary>
-        /// 闄愰珮
-        /// </summary>
-        public virtual decimal? LimitHeight { get; set; }
-        
-        /// <summary>
-        /// 杞介噸涓婇檺
-        /// </summary>
-        public virtual decimal? MaxWeight { get; set; }
-        
-        /// <summary>
-        /// 鐖舵墭鐩業d
-        /// </summary>
-        public virtual long? ParentContainerId { get; set; }
-        
-        /// <summary>
-        /// 璧勪骇缂栧彿
-        /// </summary>
-        public virtual string AssetNo { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鍒嗙被
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerCategory? ContainerCategory { get; set; }
-        
-        /// <summary>
-        /// Erp鍗曞彿
-        /// </summary>
-        public virtual string ErpNo { get; set; }
-        
-        /// <summary>
-        /// 鏄惁铏氭嫙
-        /// </summary>
-        public virtual Admin.NET.Core.YesOrNot? IsVirtually { get; set; }
-        
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public virtual Admin.NET.Core.LesWorkShopType? WorkShopType { get; set; }
-        
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public virtual Admin.NET.Core.IssueState? IssueState { get; set; }
-        
-    }
-
-    /// <summary>
-    /// 鎵樼洏淇℃伅杈撳叆鍙傛暟
-    /// </summary>
-    public class WmsContainerInput
-    {
-        /// <summary>
-        /// 缂栧彿
-        /// </summary>
-        public virtual string ContainerCode { get; set; }
-        
-        /// <summary>
-        /// 绫诲瀷
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerType ContainerType { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鐘舵��
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerStatus ContainerStatus { get; set; }
-        
-        /// <summary>
-        /// 闀垮害
-        /// </summary>
-        public virtual decimal SpecLength { get; set; }
-        
-        /// <summary>
-        /// 瀹藉害
-        /// </summary>
-        public virtual decimal SpecWidth { get; set; }
-        
-        /// <summary>
-        /// 楂樺害
-        /// </summary>
-        public virtual decimal SpecHeight { get; set; }
-        
-        /// <summary>
-        /// 闄愰暱
-        /// </summary>
-        public virtual decimal LimitLength { get; set; }
-        
-        /// <summary>
-        /// 闄愬
-        /// </summary>
-        public virtual decimal LimitWidth { get; set; }
-        
-        /// <summary>
-        /// 闄愰珮
-        /// </summary>
-        public virtual decimal LimitHeight { get; set; }
-        
-        /// <summary>
-        /// 杞介噸涓婇檺
-        /// </summary>
-        public virtual decimal MaxWeight { get; set; }
-        
-        /// <summary>
-        /// 鐖舵墭鐩業d
-        /// </summary>
-        public virtual long ParentContainerId { get; set; }
-        
-        /// <summary>
-        /// 璧勪骇缂栧彿
-        /// </summary>
-        public virtual string AssetNo { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鍒嗙被
-        /// </summary>
-        public virtual Admin.NET.Core.ContainerCategory ContainerCategory { get; set; }
-        
-        /// <summary>
-        /// Erp鍗曞彿
-        /// </summary>
-        public virtual string ErpNo { get; set; }
-        
-        /// <summary>
-        /// 鏄惁铏氭嫙
-        /// </summary>
-        public virtual Admin.NET.Core.YesOrNot IsVirtually { get; set; }
-        
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public virtual Admin.NET.Core.LesWorkShopType WorkShopType { get; set; }
-        
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public virtual Admin.NET.Core.IssueState IssueState { get; set; }
-        
-    }
-
-    public class AddWmsContainerInput : WmsContainerInput
-    {
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        [Required(ErrorMessage = "鏁伴噺涓嶈兘涓虹┖")]
-        public long Quantity { get; set; }
-    }
-
-    public class DeleteWmsContainerInput : BaseId
-    {
-    }
-
-    public class UpdateWmsContainerInput : WmsContainerInput
-    {
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
-        public long Id { get; set; }
-        
-    }
-
-    public class QueryeWmsContainerInput : BaseId
-    {
-
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerOutput.cs
deleted file mode 100644
index 87cbb47..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Dto/WmsContainerOutput.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-锘縰sing Admin.NET.Core.Util.LowCode.Dto;
-using System;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 鎵樼洏淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class WmsContainerOutput
-    {
-        /// <summary>
-        /// 缂栧彿
-        /// </summary>
-        public string ContainerCode { get; set; }
-        
-        /// <summary>
-        /// 绫诲瀷
-        /// </summary>
-        public Admin.NET.Core.ContainerType ContainerType { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鐘舵��
-        /// </summary>
-        public Admin.NET.Core.ContainerStatus ContainerStatus { get; set; }
-        
-        /// <summary>
-        /// 闀垮害
-        /// </summary>
-        public decimal SpecLength { get; set; }
-        
-        /// <summary>
-        /// 瀹藉害
-        /// </summary>
-        public decimal SpecWidth { get; set; }
-        
-        /// <summary>
-        /// 楂樺害
-        /// </summary>
-        public decimal SpecHeight { get; set; }
-        
-        /// <summary>
-        /// 闄愰暱
-        /// </summary>
-        public decimal LimitLength { get; set; }
-        
-        /// <summary>
-        /// 闄愬
-        /// </summary>
-        public decimal LimitWidth { get; set; }
-        
-        /// <summary>
-        /// 闄愰珮
-        /// </summary>
-        public decimal LimitHeight { get; set; }
-        
-        /// <summary>
-        /// 杞介噸涓婇檺
-        /// </summary>
-        public decimal MaxWeight { get; set; }
-        
-        /// <summary>
-        /// 鐖舵墭鐩業d
-        /// </summary>
-        public long ParentContainerId { get; set; }
-        
-        /// <summary>
-        /// 璧勪骇缂栧彿
-        /// </summary>
-        public string AssetNo { get; set; }
-        
-        /// <summary>
-        /// 鎵樼洏鍒嗙被
-        /// </summary>
-        public Admin.NET.Core.ContainerCategory ContainerCategory { get; set; }
-        
-        /// <summary>
-        /// Erp鍗曞彿
-        /// </summary>
-        public string ErpNo { get; set; }
-        
-        /// <summary>
-        /// 鏄惁铏氭嫙
-        /// </summary>
-        public Admin.NET.Core.YesOrNot IsVirtually { get; set; }
-        
-        /// <summary>
-        /// 鎵�灞炶溅闂�
-        /// </summary>
-        public Admin.NET.Core.LesWorkShopType WorkShopType { get; set; }
-        
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-        
-        /// <summary>
-        /// 绛炬牳鐘舵��
-        /// </summary>
-        public Admin.NET.Core.IssueState IssueState { get; set; }
-        
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/IWmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/IWmsContainerService.cs
deleted file mode 100644
index dd88e4b..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/IWmsContainerService.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-锘縰sing Admin.NET.Core;
-using Microsoft.AspNetCore.Mvc;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Http;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 
-    /// </summary>
-    public interface IWmsContainerService
-    {
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-        Task Add(AddWmsContainerInput input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-        Task Delete(DeleteWmsContainerInput input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-        Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-        Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-        Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-        Task Update(UpdateWmsContainerInput input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="input"></param>
-        /// <returns></returns>
-
-        Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="file"></param>
-        /// <param name="importExcelType"></param>
-        /// <returns></returns>
-
-        Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType);
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="version"></param>
-        /// <returns></returns>
-
-        Task<IActionResult> DownloadExcelTemplate(string version);
-    }
-}
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs
deleted file mode 100644
index db83988..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/WmsContainerService.cs
+++ /dev/null
@@ -1,303 +0,0 @@
-锘�//using Furion.DatabaseAccessor;
-//using Furion.DatabaseAccessor.Extensions;
-//using Furion.DependencyInjection;
-//using Furion.DynamicApiController;
-//using Furion.FriendlyException;
-//using Admin.NET.Core;
-//using Mapster;
-//using Microsoft.AspNetCore.Mvc;
-//using Microsoft.EntityFrameworkCore;
-//using System.Linq.Dynamic.Core;
-//using Microsoft.AspNetCore.Http;
-//using System.Text;
-//using System.Web;
-
-//namespace Admin.NET.Application
-//{
-//    /// <summary>
-//    /// 鎵樼洏淇℃伅鏈嶅姟
-//    /// </summary>
-//    [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsContainer", Order = 100)]
-//    [Route("api/[Controller]")]
-//    public class WmsContainerService : IWmsContainerService, IDynamicApiController, ITransient
-//    {
-//        private readonly IRepository<WmsContainer,MasterDbContextLocator> _wmsContainerRep;
-//        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
-//        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
-//        private readonly ISysExcelTemplateService _sysExcelTemplateService;
-//        private readonly static object _lock = new();
-
-//        /// <summary>
-//        /// 鏋勯�犲嚱鏁�
-//        /// </summary>
-//        public WmsContainerService(
-//             IRepository<WmsContainer,MasterDbContextLocator> wmsContainerRep
-//            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
-//            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
-//            ,ISysExcelTemplateService sysExcelTemplateService
-//        )
-//        {
-//             _wmsContainerRep = wmsContainerRep;
-//             _sysDictTypeRep = sysDictTypeRep;
-//             _sysDictDataRep = sysDictDataRep;
-//             _sysExcelTemplateService = sysExcelTemplateService;
-//        }
-
-//        /// <summary>
-//        /// 鍒嗛〉鏌ヨ鎵樼洏淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("page")]
-//        public async Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input)
-//        {
-//            var wmsContainers = await _wmsContainerRep.DetachedEntities
-//                .Where(!string.IsNullOrEmpty(input.ContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{input.ContainerCode.Trim()}%"))
-//                .Where(input.ContainerType != null, u => u.ContainerType == input.ContainerType)
-//                .Where(input.ContainerStatus != null, u => u.ContainerStatus == input.ContainerStatus)
-//                .Where(input.SpecLength != null, u => u.SpecLength == input.SpecLength)
-//                .Where(input.SpecWidth != null, u => u.SpecWidth == input.SpecWidth)
-//                .Where(input.ContainerCategory != null, u => u.ContainerCategory == input.ContainerCategory)
-//                .Where(input.WorkShopType != null, u => u.WorkShopType == input.WorkShopType)
-//                .OrderBy(PageInputOrder.OrderBuilder<WmsContainerSearch>(input))
-//                .ProjectToType<WmsContainerOutput>()
-//                .ToADPagedListAsync(input.PageNo, input.PageSize);
-//            return wmsContainers;
-//        }
-
-//        /// <summary>
-//        /// 涓嶅垎椤垫煡璇㈡墭鐩樹俊鎭垪琛�
-//        /// </summary>
-//        /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param>
-//        /// <returns>(鎵樼洏淇℃伅)瀹炰緥鍒楄〃</returns>
-//        [HttpGet("listNonPage")]
-//        public async Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input)
-//        {
-//            var pContainerCode = input.ContainerCode?.Trim() ?? "";
-//            var pContainerType = input.ContainerType;
-//            var pContainerStatus = input.ContainerStatus;
-//            var pSpecLength = input.SpecLength;
-//            var pSpecWidth = input.SpecWidth;
-//            var pContainerCategory = input.ContainerCategory;
-//            var pWorkShopType = input.WorkShopType;
-//            var wmsContainers = await _wmsContainerRep.DetachedEntities
-//                .Where(!string.IsNullOrEmpty(pContainerCode), u => EF.Functions.Like(u.ContainerCode, $"%{pContainerCode}%")) 
-//                .Where(pContainerType != null, u => u.ContainerType == pContainerType)
-//                .Where(pContainerStatus != null, u => u.ContainerStatus == pContainerStatus)
-//                .Where(pSpecLength != null, u => u.SpecLength == pSpecLength)
-//                .Where(pSpecWidth != null, u => u.SpecWidth == pSpecWidth)
-//                .Where(pContainerCategory != null, u => u.ContainerCategory == pContainerCategory)
-//                .Where(pWorkShopType != null, u => u.WorkShopType == pWorkShopType)
-//            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
-//            .ProjectToType<WmsContainerOutput>()
-//            .ToListAsync();
-//            return wmsContainers;
-//        }
-
-
-//        /// <summary>
-//        /// 澧炲姞鎵樼洏淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("add")]
-//        public async Task Add(AddWmsContainerInput input)
-//        {
-//            var isExist = await _wmsContainerRep.AnyAsync(u => u.ContainerCode == input.ContainerCode, false);
-//            if (isExist) throw Oops.Oh($"褰撳墠鎵樼洏宸插瓨鍦紝鏂板澶辫触锛�");
-
-//            var ContainerInfo = input.Adapt<WmsContainer>();
-//            ContainerInfo.ContainerStatus = ContainerStatus.KOUXIAN;
-//            ContainerInfo.AssetNo = "N/A";
-//            ContainerInfo.ContainerCategory = ContainerCategory.GZP;
-//            ContainerInfo.ErpNo = "N/A"; 
-//            ContainerInfo.IsVirtually = YesOrNot.N;
-//            ContainerInfo.WorkShopType = LesWorkShopType.FAPAOCHEJIAN;
-//            await _wmsContainerRep.InsertAsync(ContainerInfo);
-//            //string ContainerCode = "ZHONGTONG";
-//            //if (input.SpecLength == 1250)
-//            //{
-//            //    ContainerCode = "YKA";
-//            //}
-//            //else if (input.SpecLength == 1050)
-//            //{
-//            //    ContainerCode = "YKB";
-//            //}
-//            //else if (input.SpecLength == 800)
-//            //{
-//            //    ContainerCode = "YKC";
-//            //}
-//            //var wmsContainerModal = await _wmsContainerRep.DetachedEntities.Where(u => u.ContainerCode.Contains(input.ContainerCode))
-//            //    .ProjectToType<WmsContainerOutput>()
-//            //    .OrderByDescending(u => u.ContainerCode)
-//            //    .FirstOrDefaultAsync();
-//            //int a = 0;
-//            //if (wmsContainerModal != null)
-//            //{
-//            //    a = Convert.ToInt32(wmsContainerModal.ContainerCode.Substring(wmsContainerModal.ContainerCode.Length - 5));
-//            //}
-//            //for (int i = a + 1; i <= a + input.Quantity; i++)
-//            //{
-//            //    var wmsContainer = input.Adapt<WmsContainer>();
-//            //    wmsContainer.AssetNo = "N/A";
-//            //    wmsContainer.ErpNo = "N/A";
-//            //    wmsContainer.IsVirtually = YesOrNot.N;
-//            //    wmsContainer.IsDeleted = false;;
-//            //    wmsContainer.ContainerCode = ContainerCode + i.ToString("00000");
-//            //    await _wmsContainerRep.InsertAsync(wmsContainer);
-//            //}
-//        }
-
-//        /// <summary>
-//        /// 鍒犻櫎鎵樼洏淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("delete")]
-//        public async Task Delete(DeleteWmsContainerInput input)
-//        {
-//            var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(u => u.Id == input.Id);
-//            await _wmsContainerRep.DeleteAsync(wmsContainer);
-//        }
-
-//        /// <summary>
-//        /// 鏇存柊鎵樼洏淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("edit")]
-//        public async Task Update(UpdateWmsContainerInput input)
-//        {
-//            var isExist = await _wmsContainerRep.AnyAsync(u => u.Id == input.Id, false);
-//            if (!isExist) throw Oops.Oh(ErrorCode.D3000);
-
-//            var wmsContainer = input.Adapt<WmsContainer>();
-//            await _wmsContainerRep.UpdateAsync(wmsContainer,ignoreNullValues:true);
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇鎵樼洏淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("detail")]
-//        public async Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input)
-//        {
-//            return (await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerOutput>();
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇鎵樼洏淇℃伅鍒楄〃
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("list")]
-//        public async Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input)
-//        {
-//            return await _wmsContainerRep.DetachedEntities.ProjectToType<WmsContainerOutput>().ToListAsync();
-//        }    
-//         /// <summary>
-//        /// Excel妯℃澘瀵煎叆鎵樼洏淇℃伅鍔熻兘
-//        /// </summary>
-//        /// <param name="file">Excel妯℃澘鏂囦欢</param>
-//        /// <param name="importExcelType">Excel瀵煎叆鏂瑰紡</param>
-//        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
-//        [HttpPost("fromExcel")]
-//        public async Task<int> FromExcelAsync(IFormFile file, [FromQuery] ImportExcelType importExcelType)
-//        {
-//            int size = 200;
-//            var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", "v2");
-//            if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002);
-//            var keys = excelTemplate.UnionUniqueFields.Split(",") ?? Array.Empty<string>();
-//            for (var i = 0; i < keys.Length; i++) 
-//            {
-//                keys[i] = keys[i]?.Trim() ?? string.Empty;
-//            }
-//            ExcelUtil.FromExcel(file, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, out List<string> headers, out List<List<object>> data, out string sheetName);
-//            List<WmsContainerOutput> wmsContainerList = DataConvertUtil.ToObjectList(headers, data, sheetName, keys, excelTemplate?.DataStartLine ?? 2, out Dictionary<string, WmsContainerOutput> dict);
-//            List<Dictionary<string, object>> uniqueKeyValueDictList = wmsContainerList.ParseUniqueKeyValueDictList(keys.ToList(), excelTemplate?.DataStartLine ?? 2, sheetName);
-//            var filters = DataConvertUtil.GetExpressionListByUniqueDict<WmsContainer>(keys.ToList(), uniqueKeyValueDictList, size);
-//            var selectKeys = keys.ToList();
-//            if(!selectKeys.Contains("Id")) selectKeys.Add("Id");
-//            var selector = DataConvertUtil.GetSelectExpressionListByUniqueDict<WmsContainer, WmsContainerOutput>(selectKeys);
-//            List<WmsContainer> updates = new();
-//            List<WmsContainer> adds = new();
-
-//            lock (_lock)
-//            {
-//                foreach (var filter in filters)
-//                {
-//                    var wmsContainerExistSubList = _wmsContainerRep.Where(filter).Select(selector).ToList();
-//                    wmsContainerExistSubList.ForEach(x => 
-//                    {
-//                        var k = DataConvertUtil.GetKey(x, keys);
-//                        if (dict.ContainsKey(k)) dict[k].Id = x.Id;
-//                    });
-//                }
-//                foreach (var wmsContainer in wmsContainerList) 
-//                {
-//                    if (wmsContainer.Id > 0)
-//                    {
-//                        if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.Add(wmsContainer.Adapt<WmsContainer>());
-//                    }
-//                    else 
-//                    {
-//                        adds.Add(wmsContainer.Adapt<WmsContainer>());
-//                    }
-//                }
-
-//                if (importExcelType == ImportExcelType.ADD_AND_UPDATE) updates.ForEach(x => _wmsContainerRep.Update(x));
-                
-
-//                var maxId = _wmsContainerRep.DetachedEntities.OrderByDescending(x => x.Id).Select(x => x.Id).FirstOrDefault();
-//                adds.ForEach(x => x.Id = ++maxId);    
-//                Db.GetDbContext().Set<WmsContainer>().AddRange(adds);  
-//                Db.GetDbContext().SaveChanges();
-               
-//            }
-//            await Task.CompletedTask;
-//            return adds.Count;
-//        }
-
-//        /// <summary>
-//        /// 鏍规嵁鐗堟湰涓嬭浇鎵樼洏淇℃伅鐨凟xcel瀵煎叆妯℃澘
-//        /// </summary>
-//        /// <param name="version">妯℃澘鐗堟湰</param>
-//        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
-//        [HttpGet("downloadExcelTemplate")]
-//        public async Task<IActionResult> DownloadExcelTemplate([FromQuery] string version)
-//        {
-//            var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", version);
-//            if (excelTemplate == null) throw Oops.Oh(ErrorCode.Excel002);
-//            var path = Path.Combine(@"\", excelTemplate.TemplateFileName);
-//            Stream ms = FileUtil.Download(path, excelTemplate.TemplateFileName);
-//            var fileName = HttpUtility.UrlEncode($"{excelTemplate.Name}瀵煎叆妯℃澘.xlsx", Encoding.GetEncoding("UTF-8"));
-//            return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName };
-//        }
-//        /// <summary>
-//        /// 鏍规嵁鎵樼洏淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel
-//        /// </summary>
-//        /// <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param>
-//        /// <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns>
-//        [HttpGet("toExcel")]
-//        public async Task<IActionResult> ToExcelAsync([FromQuery] WmsContainerSearchNonPage input)
-//        {
-//            var wmsContainerList = await ListNonPageAsync(input);
-//            MemoryStream ms = new();
-//            DataConvertUtil.ToExcelData(wmsContainerList, _sysDictTypeRep, _sysDictDataRep, out List<string> headers, 
-//                out List<List<object>> data, out string sheetName);
-//            var excelTemplate = await _sysExcelTemplateService.GetByAppNameAndClassNameAndVersionAsync("WmsContainer", "v1");
-//            if (excelTemplate != null)
-//            {
-//                ExcelUtil.ToExcel(excelTemplate.TemplateFileName, headers, data, sheetName, excelTemplate.HeadStartLine, excelTemplate.DataStartLine, ms);
-//            }
-//            else 
-//            {
-//                ExcelUtil.ToExcel(headers, data, sheetName, ms);
-//            }
-//            ms.Position = 0;
-//            var fileName = HttpUtility.UrlEncode($"{sheetName}[{DateTimeOffset.Now:yyyy-MM-dd}].xlsx", Encoding.GetEncoding("UTF-8"));
-//            return new FileStreamResult(ms, "application/octet-stream") { FileDownloadName = fileName };
-//        }
-//    }
-//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceDto.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceDto.cs
deleted file mode 100644
index 8682b03..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceDto.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-锘縰sing Admin.NET.Core;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 搴撲綅淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class WmsPlaceDto
-    {
-        /// <summary>
-        /// 鎵�鍦ㄥ簱鍖�
-        /// </summary>
-        public string WmsAreaAreaname { get; set; }
-        
-        /// <summary>
-        /// 缂栫爜
-        /// </summary>
-        public string Placecode { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅鐘舵��
-        /// </summary>
-        public PlaceStatus Placestatus { get; set; }
-        
-        /// <summary>
-        /// 鎵�鍦ㄥ簱鍖�
-        /// </summary>
-        public long Areaid { get; set; }
-        
-        /// <summary>
-        /// 鎺�
-        /// </summary>
-        public int Rowno { get; set; }
-        
-        /// <summary>
-        /// 鍒�
-        /// </summary>
-        public int Columnno { get; set; }
-        
-        /// <summary>
-        /// 灞�
-        /// </summary>
-        public int Layerno { get; set; }
-        
-        /// <summary>
-        /// 杩涙繁鍙�
-        /// </summary>
-        public int Deepcellno { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        public int Aisle { get; set; }
-        
-        /// <summary>
-        /// 绾垮彿
-        /// </summary>
-        public int Line { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾宸﹀彸
-        /// </summary>
-        //public string Aisleside { get; set; }
-        
-        /// <summary>
-        /// 鏄惁閿佸畾
-        /// </summary>
-        public YesOrNot Islock { get; set; }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        //public YesOrNot Isfull { get; set; }
-
-        /// <summary>
-        /// 鍚︽鍦ㄦ搷浣�
-        /// </summary>
-        //public YesOrNot Hastaskdoing { get; set; }
-
-        /// <summary>
-        /// 鏄惁绌烘墭
-        /// </summary>
-        public virtual YesOrNot EmptyContainer { get; set; }
-
-        /// <summary>
-        /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-        /// </summary>
-        public string PositionnoForSrm { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅X鍧愭爣
-        /// </summary>
-        public string Xzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Y鍧愭爣
-        /// </summary>
-        public string Yzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Z鍧愭爣
-        /// </summary>
-        public string Zzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅闀垮害
-        /// </summary>
-        public decimal Length { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅瀹藉害
-        /// </summary>
-        public decimal Width { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public decimal Height { get; set; }
-        
-        /// <summary>
-        /// 鏈�澶ф壙閲�
-        /// </summary>
-        public decimal Maxweight { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public Heightlevel Heightlevel { get; set; }
-        
-        /// <summary>
-        /// 浼樺厛绾�
-        /// </summary>
-        public int Priority { get; set; }
-
-        /// <summary>
-        /// 閫昏緫鍖哄煙
-        /// </summary>
-        public int LogicalName { get; set; }
-
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceInput.cs
deleted file mode 100644
index 5c9e5e2..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceInput.cs
+++ /dev/null
@@ -1,310 +0,0 @@
-锘縰sing System.ComponentModel.DataAnnotations;
-using Admin.NET.Core;
-using Admin.NET.Core.Service;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 搴撲綅淇℃伅鏌ヨ鍙傛暟
-    /// </summary>
-    public class WmsPlaceSearch : PageInputBase
-    {
-        /// <summary>
-        /// 缂栫爜
-        /// </summary>
-        public virtual string Placecode { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅鐘舵��
-        /// </summary>
-        public virtual PlaceStatus? Placestatus { get; set; }
-        
-        /// <summary>
-        /// 鎵�鍦ㄥ簱鍖�
-        /// </summary>
-        public virtual long? Areaid { get; set; }
-        
-        /// <summary>
-        /// 鎺�
-        /// </summary>
-        public virtual int? Rowno { get; set; }
-        
-        /// <summary>
-        /// 鍒�
-        /// </summary>
-        public virtual int? Columnno { get; set; }
-        
-        /// <summary>
-        /// 灞�
-        /// </summary>
-        public virtual int? Layerno { get; set; }
-        
-        /// <summary>
-        /// 杩涙繁鍙�
-        /// </summary>
-        public virtual int? Deepcellno { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        public virtual int? Aisle { get; set; }
-        
-        /// <summary>
-        /// 绾垮彿
-        /// </summary>
-        public virtual int? Line { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾宸﹀彸
-        /// </summary>
-        //public virtual string Aisleside { get; set; }
-        
-        /// <summary>
-        /// 鏄惁閿佸畾
-        /// </summary>
-        public virtual YesOrNot? Islock { get; set; }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        //public virtual YesOrNot? Isfull { get; set; }
-
-        /// <summary>
-        /// 鍚︽鍦ㄦ搷浣�
-        /// </summary>
-        //public virtual YesOrNot? Hastaskdoing { get; set; }
-
-        /// <summary>
-        /// 鏄惁绌烘墭
-        /// </summary>
-        public virtual YesOrNot EmptyContainer { get; set; }
-
-        /// <summary>
-        /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-        /// </summary>
-        public virtual string PositionnoForSrm { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅X鍧愭爣
-        /// </summary>
-        public virtual string Xzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Y鍧愭爣
-        /// </summary>
-        public virtual string Yzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Z鍧愭爣
-        /// </summary>
-        public virtual string Zzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅闀垮害
-        /// </summary>
-        public virtual decimal? Length { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅瀹藉害
-        /// </summary>
-        public virtual decimal? Width { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public virtual decimal? Height { get; set; }
-        
-        /// <summary>
-        /// 鏈�澶ф壙閲�
-        /// </summary>
-        public virtual decimal? Maxweight { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public virtual Heightlevel? Heightlevel { get; set; }
-        
-        /// <summary>
-        /// 浼樺厛绾�
-        /// </summary>
-        public virtual int? Priority { get; set; }
-    }
-
-    /// <summary>
-    /// 搴撲綅淇℃伅杈撳叆鍙傛暟
-    /// </summary>
-    public class WmsPlaceInput
-    {
-        /// <summary>
-        /// 缂栫爜
-        /// </summary>
-        public virtual string Placecode { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅鐘舵��
-        /// </summary>
-        public virtual PlaceStatus Placestatus { get; set; }
-        
-        /// <summary>
-        /// 鎵�鍦ㄥ簱鍖�
-        /// </summary>
-        public virtual long Areaid { get; set; }
-        
-        /// <summary>
-        /// 鎺�
-        /// </summary>
-        public virtual int Rowno { get; set; }
-        
-        /// <summary>
-        /// 鍒�
-        /// </summary>
-        public virtual int Columnno { get; set; }
-        
-        /// <summary>
-        /// 灞�
-        /// </summary>
-        public virtual int Layerno { get; set; }
-        
-        /// <summary>
-        /// 浣�
-        /// </summary>
-        public virtual int Deepcellno { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        public virtual int Aisle { get; set; }
-        
-        /// <summary>
-        /// 绾垮彿
-        /// </summary>
-        public virtual int Line { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾宸﹀彸
-        /// </summary>
-        //public virtual string Aisleside { get; set; }
-        
-        /// <summary>
-        /// 鏄惁閿佸畾
-        /// </summary>
-        public virtual YesOrNot Islock { get; set; }
-
-        /// <summary>
-        /// 鏄惁
-        /// </summary>
-        //public virtual YesOrNot Isfull { get; set; }
-
-        /// <summary>
-        /// 鍚︽鍦ㄦ搷浣�
-        /// </summary>
-        //public virtual YesOrNot Hastaskdoing { get; set; }
-
-        /// <summary>
-        /// 鏄惁绌烘墭
-        /// </summary>
-        public virtual YesOrNot EmptyContainer { get; set; }
-
-
-        /// <summary>
-        /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-        /// </summary>
-        public virtual string PositionnoForSrm { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅X鍧愭爣
-        /// </summary>
-        public virtual string Xzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Y鍧愭爣
-        /// </summary>
-        public virtual string Yzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Z鍧愭爣
-        /// </summary>
-        public virtual string Zzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅闀垮害
-        /// </summary>
-        public virtual decimal Length { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅瀹藉害
-        /// </summary>
-        public virtual decimal Width { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public virtual decimal Height { get; set; }
-        
-        /// <summary>
-        /// 鏈�澶ф壙閲�
-        /// </summary>
-        public virtual decimal Maxweight { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public virtual Heightlevel Heightlevel { get; set; }
-        
-        /// <summary>
-        /// 浼樺厛绾�
-        /// </summary>
-        public virtual int Priority { get; set; }
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class AddWmsPlaceInput : WmsPlaceInput
-    {
-        /// <summary>
-        /// 鎵�鍦ㄥ簱鍖�
-        /// </summary>
-        [Required(ErrorMessage = "鎵�鍦ㄥ簱鍖轰笉鑳戒负绌�")]
-        public override long Areaid { get; set; }
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class DeleteWmsPlaceInput : BaseId
-    {
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class UpdateWmsPlaceInput : WmsPlaceInput
-    {
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
-        public long Id { get; set; }
-    }
-
-    /// <summary>
-    /// 
-    /// </summary>
-    public class QueryeWmsPlaceInput : BaseId
-    {
-
-    }
-    /// <summary>
-    /// 鎵归噺閿佸畾鍙傛暟
-    /// </summary>
-    public class MoreLockInput
-    {
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
-        public List<long> Id { get; set; }
-    }
-
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceOutput.cs
deleted file mode 100644
index 2246990..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/Dto/WmsPlaceOutput.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-锘縰sing Admin.NET.Core;
-
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 搴撲綅淇℃伅杈撳嚭鍙傛暟
-    /// </summary>
-    public class WmsPlaceOutput
-    {
-        /// <summary>
-        /// 缂栫爜
-        /// </summary>
-        public string Placecode { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅鐘舵��
-        /// </summary>
-        public PlaceStatus Placestatus { get; set; }
-        
-        /// <summary>
-        /// 鎵�鍦ㄥ簱鍖�
-        /// </summary>
-        public long Areaid { get; set; }
-        
-        /// <summary>
-        /// 鎺�
-        /// </summary>
-        public int Rowno { get; set; }
-        
-        /// <summary>
-        /// 鍒�
-        /// </summary>
-        public int Columnno { get; set; }
-        
-        /// <summary>
-        /// 灞�
-        /// </summary>
-        public int Layerno { get; set; }
-        
-        /// <summary>
-        /// 杩涙繁鍙�
-        /// </summary>
-        public int Deepcellno { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾
-        /// </summary>
-        public int Aisle { get; set; }
-        
-        /// <summary>
-        /// 绾垮彿
-        /// </summary>
-        public int Line { get; set; }
-        
-        /// <summary>
-        /// 宸烽亾宸﹀彸
-        /// </summary>
-        //public string Aisleside { get; set; }
-        
-        /// <summary>
-        /// 鏄惁閿佸畾
-        /// </summary>
-        public YesOrNot Islock { get; set; }
-
-        //public YesOrNot Isfull { get; set; }
-
-        /// <summary>
-        /// 鍚︽鍦ㄦ搷浣�
-        /// </summary>
-        //public YesOrNot Hastaskdoing { get; set; }
-
-        /// <summary>
-        /// 鏄惁绌烘墭
-        /// </summary>
-        public virtual YesOrNot EmptyContainer { get; set; }
-
-        /// <summary>
-        /// 鍫嗗灈鏈哄唴閮ㄧ殑浣嶇疆
-        /// </summary>
-        public string PositionnoForSrm { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅X鍧愭爣
-        /// </summary>
-        public string Xzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Y鍧愭爣
-        /// </summary>
-        public string Yzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅Z鍧愭爣
-        /// </summary>
-        public string Zzb { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅闀垮害
-        /// </summary>
-        public decimal Length { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅瀹藉害
-        /// </summary>
-        public decimal Width { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public decimal Height { get; set; }
-        
-        /// <summary>
-        /// 鏈�澶ф壙閲�
-        /// </summary>
-        public decimal Maxweight { get; set; }
-        
-        /// <summary>
-        /// 搴撲綅楂樺害
-        /// </summary>
-        public Heightlevel Heightlevel { get; set; }
-        
-        /// <summary>
-        /// 浼樺厛绾�
-        /// </summary>
-        public int Priority { get; set; }
-        
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-
-        /// <summary>
-        /// 搴撳尯淇℃伅杈撳嚭鍙傛暟
-        /// </summary>
-        public WmsAreaOutput WmsArea { get; set; }
-    }
-}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/WmsPlaceService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/WmsPlaceService.cs
deleted file mode 100644
index 0580390..0000000
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsPlace/WmsPlaceService.cs
+++ /dev/null
@@ -1,282 +0,0 @@
-锘�//using Furion.DatabaseAccessor;
-//using Furion.DependencyInjection;
-//using Furion.DynamicApiController;
-//using Furion.FriendlyException;
-//using Mapster;
-//using Microsoft.AspNetCore.Authorization;
-//using Microsoft.AspNetCore.Mvc;
-//using Microsoft.EntityFrameworkCore;
-//using System.Linq.Dynamic.Core;
-//using Admin.NET.Core;
-
-//namespace Admin.NET.Application
-//{
-//    /// <summary>
-//    /// 搴撲綅淇℃伅鏈嶅姟
-//    /// </summary>
-//    [ApiDescriptionSettings("鑷繁鐨勪笟鍔�", Name = "WmsPlace", Order = 100)]
-//    [Route("api/[Controller]")]
-//    public class WmsPlaceService : IDynamicApiController, ITransient
-//    {
-//        private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep;
-//        private readonly IRepository<WmsArea> _wmsAreaRep;
-
-//        /// <summary>
-//        /// 鏋勯�犲嚱鏁�
-//        /// </summary>
-//        public WmsPlaceService(
-//            IRepository<WmsArea> wmsAreaRep,
-//            IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep
-//        )
-//        {
-//            _wmsAreaRep = wmsAreaRep;
-//            _wmsPlaceRep = wmsPlaceRep;
-//        }
-
-//        /// <summary>
-//        /// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("page")]
-//        public async Task<PageResult<WmsPlaceOutput>> Page([FromQuery] WmsPlaceSearch input)
-//        {
-//            var wmsPlaces = await _wmsPlaceRep.DetachedEntities
-//                .Where(!string.IsNullOrEmpty(input.Placecode), u => EF.Functions.Like(u.PlaceCode, $"%{input.Placecode.Trim()}%"))
-//                .Where(input.Placestatus != null, u => u.PlaceStatus == input.Placestatus)
-//                .Where(input.Areaid > 0, u => u.AreaId == input.Areaid)
-//                .Where(input.Rowno != null, u => u.RowNo == input.Rowno)
-//                .Where(input.Columnno != null, u => u.ColumnNo == input.Columnno)
-//                .Where(input.Layerno != null, u => u.LayerNo == input.Layerno)
-//                .Where(input.Aisle != null, u => u.Aisle == input.Aisle)
-//                .Where(input.Islock != null, u => u.Islock == input.Islock)
-//                .OrderBy(PageInputOrder.OrderBuilder<WmsPlaceSearch>(input))
-//                .ProjectToType<WmsPlaceOutput>()
-//                .ToADPagedListAsync(input.PageNo, input.PageSize);
-//            return wmsPlaces;
-//        }
-
-//        /// <summary>
-//        /// 澧炲姞搴撲綅淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        //[HttpPost("add")]
-//        //public async Task Add(AddWmsPlaceInput input)
-//        //{
-//        //    //鑾峰彇搴撳尯淇℃伅
-//        //    var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.Id == input.Areaid);
-//        //    if (wmsArea.AreaType == AreaType.LITIKU)
-//        //    {
-//        //        var wmsPlace = input.Adapt<WmsPlace>();
-//        //        for (int a = 1; a == 1; a++)
-//        //        {
-//        //            for (int t = 1; t <= wmsPlace.RowNo; t++)   //寰幆鎺�
-//        //            {
-//        //                for (int i = 1; i <= wmsPlace.ColumnNo; i++)   //寰幆鍒�
-//        //                {
-//        //                    for (int j = 1; j <= wmsPlace.LayerNo; j++)  //寰幆灞�
-//        //                    {
-//        //                        var model = new WmsPlace();
-//        //                        model.PlaceStatus = PlaceStatus.KONGXIAN;
-//        //                        model.AreaId = wmsPlace.AreaId;
-//        //                        model.RowNo = t;
-//        //                        model.ColumnNo = i;
-//        //                        model.LayerNo = j;
-//        //                        model.DeepcellNo = 1;
-//        //                        model.Aisle = a;
-//        //                        model.Islock = YesOrNot.N;
-//        //                        model.Length = new decimal(1.2);
-//        //                        model.Width = new decimal(1.5);
-//        //                        model.Height = new decimal(1.8);
-//        //                        model.MaxWeight = new decimal(2.8);
-//        //                        model.HeightLevel = Heightlevel.DI;
-//        //                        model.Priority = 0;
-//        //                        model.AgvCode = "";
-//        //                        model.PlaceCode = String.Format("{0}{1}{2}{3}{4}", wmsArea.AreaDesc, a.ToString("00"), t.ToString("00"), i.ToString("00"), j.ToString("00"));
-//        //                        var isExit = await _wmsPlaceRep.AnyAsync(n => n.PlaceCode == model.PlaceCode);
-//        //                        if (!isExit) await _wmsPlaceRep.InsertAsync(model);
-//        //                    }
-//        //                }
-//        //            }
-//        //        }
-//        //    }
-//        //    else
-//        //    {
-//        //        var wmsPlace = input.Adapt<WmsPlace>();
-//        //        for (int t = 1; t <= wmsPlace.RowNo; t++)   //寰幆鎺�
-//        //        {
-//        //            for (int i = 1; i <= wmsPlace.ColumnNo; i++)   //寰幆鍒�
-//        //            {
-//        //                for (int j = 1; j <= wmsPlace.LayerNo; j++)  //寰幆灞�
-//        //                {
-//        //                    var model = new WmsPlace();
-//        //                    model.PlaceStatus = PlaceStatus.KONGXIAN;
-//        //                    model.AreaId = wmsPlace.AreaId;
-//        //                    model.RowNo = t;
-//        //                    model.ColumnNo = i;
-//        //                    model.LayerNo = j;
-//        //                    model.DeepcellNo = 1;
-//        //                    model.Aisle = wmsPlace.Aisle;
-//        //                    model.Islock = YesOrNot.N;
-//        //                    model.Length = new decimal(1.2);
-//        //                    model.Width = new decimal(1.5);
-//        //                    model.Height = new decimal(1.8);
-//        //                    model.MaxWeight = new decimal(2.8);
-//        //                    model.HeightLevel = Heightlevel.DI;
-//        //                    model.Priority = 0;
-//        //                    model.AgvCode = "";
-//        //                    model.PlaceCode = String.Format("{0}{1}{2}{3}", wmsArea.AreaDesc, t.ToString("00"), i.ToString("00"), j.ToString("00"));
-//        //                    var isExit = await _wmsPlaceRep.AnyAsync(n => n.PlaceCode == model.PlaceCode);
-//        //                    if (!isExit) await _wmsPlaceRep.InsertAsync(model);
-//        //                }
-//        //            }
-//        //        }
-//        //    }
-
-//        //}
-
-//        /// <summary>
-//        /// 澧炲姞搴撲綅淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("add")]
-//        public async Task AddNew(AddWmsPlaceInput input)
-//        {
-//            var isExit = await _wmsPlaceRep.AnyAsync(n => n.PlaceCode == input.Placecode);
-//            if (isExit) throw Oops.Oh("瀛樺湪鐨勭浉鍚岀殑搴撲綅缂栫爜锛�");
-//            var wmsPlace = input.Adapt<WmsPlace>();
-//            wmsPlace.AgvCode = "Y/N";
-//            wmsPlace.PlaceStatus = PlaceStatus.KONGXIAN;
-//            wmsPlace.Islock = YesOrNot.N;
-//            wmsPlace.EmptyContainer = YesOrNot.N;
-//            if (input.Heightlevel==0) {
-//                wmsPlace.HeightLevel = Heightlevel.DI;
-//            }
-//            await _wmsPlaceRep.InsertAsync(wmsPlace);
-//        }
-
-//        /// <summary>
-//        /// 鍒犻櫎搴撲綅淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("delete")]
-//        public async Task Delete(DeleteWmsPlaceInput input)
-//        {
-//            var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == input.Id);
-//            await _wmsPlaceRep.DeleteAsync(wmsPlace);
-//        }
-
-//        /// <summary>
-//        /// 鎵归噺閿佸畾
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("MoreLock")]
-//        public async Task MoreLock(MoreLockInput input)
-//        {
-//            if (input.Id.Count <= 0) throw Oops.Oh("id涓嶈兘涓虹┖锛�");
-//            foreach (var item in input.Id)
-//            {
-//                var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == item);
-//                if (wmsPlace == null) throw Oops.Oh("搴撲綅淇℃伅涓嶅瓨鍦�!");
-//                wmsPlace.Islock = YesOrNot.Y;
-//                await _wmsPlaceRep.UpdateAsync(wmsPlace, ignoreNullValues: true);
-//            }
-//        }
-
-//        /// <summary>
-//        /// 鎵归噺瑙i攣
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("MoreUnlock")]
-//        public async Task MoreUnlock(MoreLockInput input)
-//        {
-//            if (input.Id.Count <= 0) throw Oops.Oh("id涓嶈兘涓虹┖锛�");
-//            foreach (var item in input.Id)
-//            {
-//                var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == item);
-//                if (wmsPlace == null) throw Oops.Oh("搴撲綅淇℃伅涓嶅瓨鍦�!");
-//                wmsPlace.Islock = YesOrNot.N;
-//                await _wmsPlaceRep.UpdateAsync(wmsPlace, ignoreNullValues: true);
-//            }
-//        }
-
-//        /// <summary>
-//        /// 鏇存柊搴撲綅淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpPost("edit")]
-//        public async Task Update(UpdateWmsPlaceInput input)
-//        {
-//            var isExist = await _wmsPlaceRep.AnyAsync(u => u.Id == input.Id, false);
-//            if (!isExist) throw Oops.Oh(ErrorCode.D3000);
-
-//            var wmsPlace = input.Adapt<WmsPlace>();
-//            await _wmsPlaceRep.UpdateAsync(wmsPlace, ignoreNullValues: true);
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇搴撲綅淇℃伅
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("detail")]
-//        public async Task<WmsPlaceOutput> Get([FromQuery] QueryeWmsPlaceInput input)
-//        {
-//            return (await _wmsPlaceRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsPlaceOutput>();
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇搴撲綅淇℃伅鍒楄〃
-//        /// </summary>
-//        /// <param name="input"></param>
-//        /// <returns></returns>
-//        [HttpGet("list")]
-//        public async Task<List<WmsPlaceOutput>> List([FromQuery] WmsPlaceInput input)
-//        {
-//            return await _wmsPlaceRep.DetachedEntities.ProjectToType<WmsPlaceOutput>().ToListAsync();
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇WmsArea鍒楄〃
-//        /// </summary>
-//        /// <returns></returns>
-//        [HttpGet("fkWmsArea")]
-//        public async Task<dynamic> FkWmsAreaList()
-//        {
-//            var list = await _wmsAreaRep.DetachedEntities.ToListAsync();
-//            return list.Select(e => new { Code = e.Id, Name = e.AreaName });
-//        }
-
-//        /// <summary>
-//        /// 鑾峰彇鐔熷寲搴撳贩閬�
-//        /// </summary>
-//        /// <returns></returns>
-//        [HttpGet("GetFAisle")]
-//        public async Task<object> GetFAisle()
-//        {
-//            var area = await _wmsAreaRep.FirstOrDefaultAsync(n => n.AreaStatus == CommonStatus.ENABLE && n.WorkShopType == LesWorkShopType.FAPAOCHEJIAN && n.AreaType == AreaType.LITIKU);
-//            var objList = await _wmsPlaceRep.Where(n => n.AreaId == area.Id).OrderBy(n => n.Aisle).Select(n => n.Aisle).Distinct().ToArrayAsync();
-//            for (int i = 0; i < objList.Length - 1; i++)
-//            {
-//                for (int j = 0; j < objList.Length - 1; j++)
-//                {
-//                    int k = j + 1;
-//                    if (objList[j] > objList[k])
-//                    {
-//                        var temp = objList[k];
-//                        objList[k] = objList[j];
-//                        objList[j] = temp;
-//                    }
-//                }
-//            }
-//            return objList;
-//        }
-//    }
-
-//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs
new file mode 100644
index 0000000..24ed56e
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaInput.cs
@@ -0,0 +1,340 @@
+锘縰sing Admin.NET.Core;
+using Admin.NET.Core.Service;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application
+{    
+    
+    /// <summary>
+    /// 搴撳尯淇℃伅鏌ヨ鍙傛暟
+    /// </summary>
+    public class WmsAreaSearch : PageInputBase
+    {
+        /// <summary>
+        /// 搴撳尯缂栫爜
+        /// </summary>
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        public virtual string WarehouseCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱鍚嶇О
+        /// </summary>
+        public virtual string WarehouseName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鎻忚堪
+        /// </summary>
+        public virtual string AreaDesc { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鐘舵��
+        /// </summary>
+        public virtual int? AreaStatus { get; set; }
+        
+        /// <summary>
+        /// ERP浠g爜
+        /// </summary>
+        public virtual string ErpCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�灞炰粨搴�
+        /// </summary>
+        public virtual long? WarehouseId { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        public virtual bool? IsBarcodeLevelControl { get; set; }
+        
+        /// <summary>
+        /// 妫�楠屽厛杩涘厛鍑�
+        /// </summary>
+        public virtual bool? IsFIFO { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        public virtual bool? IsPartLevelControl { get; set; }
+        
+        /// <summary>
+        /// 鍏佽娣锋穯
+        /// </summary>
+        public virtual bool? IsAllowConfusion { get; set; }
+        
+        /// <summary>
+        /// 鍏佽璐熷簱瀛�
+        /// </summary>
+        public virtual bool? IsAllowNegativeInventory { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual List<string> CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual List<string> UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+        /// <summary>
+    /// 搴撳尯淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+    /// </summary>
+    public class WmsAreaSearchNonPage : PageInputNonPageBase
+    {
+        /// <summary>
+        /// 搴撳尯缂栫爜
+        /// </summary>
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        public virtual string WarehouseCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱鍚嶇О
+        /// </summary>
+        public virtual string WarehouseName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鎻忚堪
+        /// </summary>
+        public virtual string AreaDesc { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鐘舵��
+        /// </summary>
+        public virtual int? AreaStatus { get; set; }
+        
+        /// <summary>
+        /// ERP浠g爜
+        /// </summary>
+        public virtual string ErpCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�灞炰粨搴�
+        /// </summary>
+        public virtual long? WarehouseId { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        public virtual bool? IsBarcodeLevelControl { get; set; }
+        
+        /// <summary>
+        /// 妫�楠屽厛杩涘厛鍑�
+        /// </summary>
+        public virtual bool? IsFIFO { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        public virtual bool? IsPartLevelControl { get; set; }
+        
+        /// <summary>
+        /// 鍏佽娣锋穯
+        /// </summary>
+        public virtual bool? IsAllowConfusion { get; set; }
+        
+        /// <summary>
+        /// 鍏佽璐熷簱瀛�
+        /// </summary>
+        public virtual bool? IsAllowNegativeInventory { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撳尯淇℃伅杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsAreaInput
+    {
+        /// <summary>
+        /// 搴撳尯缂栫爜
+        /// </summary>
+        [Required(ErrorMessage = "搴撳尯缂栫爜涓嶈兘涓虹┖")]
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "浠撳簱缂栧彿涓嶈兘涓虹┖")]
+        public virtual string WarehouseCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "浠撳簱鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string WarehouseName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "搴撳尯鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鎻忚堪
+        /// </summary>
+        public virtual string AreaDesc { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鐘舵��
+        /// </summary>
+        [Required(ErrorMessage = "搴撳尯鐘舵�佷笉鑳戒负绌�")]
+        public virtual int AreaStatus { get; set; }
+        
+        /// <summary>
+        /// ERP浠g爜
+        /// </summary>
+        [Required(ErrorMessage = "ERP浠g爜涓嶈兘涓虹┖")]
+        public virtual string ErpCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�灞炰粨搴�
+        /// </summary>
+        [Required(ErrorMessage = "鎵�灞炰粨搴撲笉鑳戒负绌�")]
+        public virtual long WarehouseId { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        [Required(ErrorMessage = "闆朵欢绾х鎺т笉鑳戒负绌�")]
+        public virtual bool IsBarcodeLevelControl { get; set; }
+        
+        /// <summary>
+        /// 妫�楠屽厛杩涘厛鍑�
+        /// </summary>
+        [Required(ErrorMessage = "妫�楠屽厛杩涘厛鍑轰笉鑳戒负绌�")]
+        public virtual bool IsFIFO { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        [Required(ErrorMessage = "闆朵欢绾х鎺т笉鑳戒负绌�")]
+        public virtual bool IsPartLevelControl { get; set; }
+        
+        /// <summary>
+        /// 鍏佽娣锋穯
+        /// </summary>
+        [Required(ErrorMessage = "鍏佽娣锋穯涓嶈兘涓虹┖")]
+        public virtual bool IsAllowConfusion { get; set; }
+        
+        /// <summary>
+        /// 鍏佽璐熷簱瀛�
+        /// </summary>
+        [Required(ErrorMessage = "鍏佽璐熷簱瀛樹笉鑳戒负绌�")]
+        public virtual bool IsAllowNegativeInventory { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撳尯淇℃伅鏂板鍙傛暟
+    /// </summary>
+    public class AddWmsAreaInput : WmsAreaInput
+    {
+    }
+
+    /// <summary>
+    /// 搴撳尯淇℃伅鍒犻櫎鍙傛暟
+    /// </summary>
+    public class DeleteWmsAreaInput : BaseId
+    {
+    }
+
+    /// <summary>
+    /// 搴撳尯淇℃伅鏇存柊鍙傛暟
+    /// </summary>
+    public class UpdateWmsAreaInput : WmsAreaInput
+    {
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
+        public long? Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撳尯淇℃伅鑾峰彇鍗曚釜鍙傛暟
+    /// </summary>
+    public class QueryeWmsAreaInput : BaseId
+    {
+
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs
new file mode 100644
index 0000000..6ba0167
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Dto/WmsAreaOutput.cs
@@ -0,0 +1,112 @@
+锘縰sing Admin.NET.Core.Util.LowCode.Dto;
+using System;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 搴撳尯淇℃伅杈撳嚭鍙傛暟
+    /// </summary>
+    public class WmsAreaOutput
+    {
+        /// <summary>
+        /// 搴撳尯缂栫爜
+        /// </summary>
+        public string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱缂栧彿
+        /// </summary>
+        public string WarehouseCode { get; set; }
+        
+        /// <summary>
+        /// 浠撳簱鍚嶇О
+        /// </summary>
+        public string WarehouseName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public string AreaName { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鎻忚堪
+        /// </summary>
+        public string AreaDesc { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鐘舵��
+        /// </summary>
+        public int AreaStatus { get; set; }
+        
+        /// <summary>
+        /// ERP浠g爜
+        /// </summary>
+        public string ErpCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�灞炰粨搴�
+        /// </summary>
+        public long WarehouseId { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        public bool IsBarcodeLevelControl { get; set; }
+        
+        /// <summary>
+        /// 妫�楠屽厛杩涘厛鍑�
+        /// </summary>
+        public bool IsFIFO { get; set; }
+        
+        /// <summary>
+        /// 闆朵欢绾х鎺�
+        /// </summary>
+        public bool IsPartLevelControl { get; set; }
+        
+        /// <summary>
+        /// 鍏佽娣锋穯
+        /// </summary>
+        public bool IsAllowConfusion { get; set; }
+        
+        /// <summary>
+        /// 鍏佽璐熷簱瀛�
+        /// </summary>
+        public bool IsAllowNegativeInventory { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        public long? Id { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTimeOffset? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public DateTimeOffset? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public string UpdatedUserName { get; set; }
+        
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs
new file mode 100644
index 0000000..02894e6
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/IWmsAreaService.cs
@@ -0,0 +1,22 @@
+锘縰sing Admin.NET.Core;
+using Microsoft.AspNetCore.Mvc;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Application
+{
+    public interface IWmsAreaService
+    {
+        Task<WmsAreaOutput> Get([FromQuery] QueryeWmsAreaInput input);
+        Task<List<WmsAreaOutput>> List([FromQuery] WmsAreaInput input);
+        Task<PageResult<WmsAreaOutput>> Page([FromQuery] WmsAreaSearch input);
+        Task<List<WmsAreaOutput>> ListNonPageAsync([FromQuery] WmsAreaSearchNonPage input);
+        
+        Task Add(AddWmsAreaInput input);
+        Task Update(UpdateWmsAreaInput input);
+        Task Delete(DeleteWmsAreaInput input);
+        Task<int> ImportExcelAsync(IFormFile file);
+        IActionResult DownloadExcelTemplate(string version);
+    }
+}
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs
new file mode 100644
index 0000000..8299615
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/Map/WmsAreaMapper.cs
@@ -0,0 +1,18 @@
+锘縰sing Mapster;
+using Admin.NET.Core;
+
+namespace Admin.NET.Application
+{
+    public class WmsAreaMapper : IRegister
+    {
+        public void Register(TypeAdapterConfig config)
+        {
+            config.ForType<AddWmsAreaInput, WmsArea>()
+            ;
+            config.ForType<UpdateWmsAreaInput, WmsArea>()
+            ;
+            config.ForType<WmsArea, WmsAreaOutput>()
+            ;
+        }
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs
new file mode 100644
index 0000000..88546d3
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsArea/WmsAreaService.cs
@@ -0,0 +1,649 @@
+锘縰sing Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor.Extensions;
+using Furion.DependencyInjection;
+using Furion.DynamicApiController;
+using Furion.FriendlyException;
+using Admin.NET.Core;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using System.Linq.Dynamic.Core;
+using Microsoft.AspNetCore.Http;
+using System.Text;
+using System.Web;
+using System.ComponentModel;
+using System.Data;
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 搴撳尯淇℃伅鏈嶅姟
+    /// </summary>
+    [ApiDescriptionSettings("WmsBase", Name = "WmsArea", Order = 100)]
+    [Route("api")]
+    public class WmsAreaService : IWmsAreaService, IDynamicApiController, ITransient
+    {
+        private readonly IRepository<WmsArea,MasterDbContextLocator> _wmsAreaRep;
+        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
+        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
+        private readonly ISysExcelTemplateService _sysExcelTemplateService;
+        private readonly static object _lock = new();
+
+        public WmsAreaService(
+            IRepository<WmsArea,MasterDbContextLocator> wmsAreaRep
+            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
+            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
+            ,ISysExcelTemplateService sysExcelTemplateService
+        )
+        {
+            _wmsAreaRep = wmsAreaRep;
+         _sysDictTypeRep = sysDictTypeRep;
+         _sysDictDataRep = sysDictDataRep;
+         _sysExcelTemplateService = sysExcelTemplateService;
+        }
+
+        /// <summary>
+        /// 鍒嗛〉鏌ヨ搴撳尯淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsArea/page")]
+        public async Task<PageResult<WmsAreaOutput>> Page([FromQuery] WmsAreaSearch input)
+        {
+            var wmsAreas = await _wmsAreaRep.DetachedEntities
+                                     .Where(!string.IsNullOrEmpty(input.AreaCode), u => u.AreaCode == input.AreaCode)
+                                     .Where(!string.IsNullOrEmpty(input.WarehouseCode), u => u.WarehouseCode == input.WarehouseCode)
+                                     .Where(!string.IsNullOrEmpty(input.WarehouseName), u => u.WarehouseName == input.WarehouseName)
+                                     .Where(!string.IsNullOrEmpty(input.AreaName), u => u.AreaName == input.AreaName)
+                                     .Where(!string.IsNullOrEmpty(input.AreaDesc), u => u.AreaDesc == input.AreaDesc)
+                                     .Where(input.AreaStatus != null, u => u.AreaStatus == input.AreaStatus)
+                                     .Where(!string.IsNullOrEmpty(input.ErpCode), u => u.ErpCode == input.ErpCode)
+                                     .Where(input.WarehouseId != null, u => u.WarehouseId == input.WarehouseId)
+                                     .Where(input.IsBarcodeLevelControl != null, u => u.IsBarcodeLevelControl == input.IsBarcodeLevelControl)
+                                     .Where(input.IsFIFO != null, u => u.IsFIFO == input.IsFIFO)
+                                     .Where(input.IsPartLevelControl != null, u => u.IsPartLevelControl == input.IsPartLevelControl)
+                                     .Where(input.IsAllowConfusion != null, u => u.IsAllowConfusion == input.IsAllowConfusion)
+                                     .Where(input.IsAllowNegativeInventory != null, u => u.IsAllowNegativeInventory == input.IsAllowNegativeInventory)
+                                     .Where(input.IsVirtually != null, u => u.IsVirtually == input.IsVirtually)
+                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
+                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
+                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
+                                     .OrderBy(PageInputOrder.OrderBuilder<WmsAreaSearch>(input))
+                                     .ProjectToType<WmsAreaOutput>()
+                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
+            return wmsAreas;
+        }
+
+        /// <summary>
+        /// 涓嶅垎椤垫煡璇㈠簱鍖轰俊鎭垪琛�
+        /// </summary>
+        /// <param name="input">搴撳尯淇℃伅鏌ヨ鍙傛暟</param>
+        /// <returns>(搴撳尯淇℃伅)瀹炰緥鍒楄〃</returns>
+        [HttpGet("WmsArea/listNonPage")]
+        public async Task<List<WmsAreaOutput>> ListNonPageAsync([FromQuery] WmsAreaSearchNonPage input)
+        {
+            var pAreaCode = input.AreaCode?.Trim() ?? "";
+            var pWarehouseCode = input.WarehouseCode?.Trim() ?? "";
+            var pWarehouseName = input.WarehouseName?.Trim() ?? "";
+            var pAreaName = input.AreaName?.Trim() ?? "";
+            var pAreaDesc = input.AreaDesc?.Trim() ?? "";
+            var pAreaStatus = input.AreaStatus;
+            var pErpCode = input.ErpCode?.Trim() ?? "";
+            var pWarehouseId = input.WarehouseId;
+            var pIsBarcodeLevelControl = input.IsBarcodeLevelControl;
+            var pIsFIFO = input.IsFIFO;
+            var pIsPartLevelControl = input.IsPartLevelControl;
+            var pIsAllowConfusion = input.IsAllowConfusion;
+            var pIsAllowNegativeInventory = input.IsAllowNegativeInventory;
+            var pIsVirtually = input.IsVirtually;
+            var pIsDisabled = input.IsDisabled;
+            var pCreatedTime = input.CreatedTime;
+            var pUpdatedTime = input.UpdatedTime;
+            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
+            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
+            var wmsAreas = await _wmsAreaRep.DetachedEntities
+                .Where(!string.IsNullOrEmpty(pAreaCode), u => u.AreaCode == pAreaCode)
+                .Where(!string.IsNullOrEmpty(pWarehouseCode), u => u.WarehouseCode == pWarehouseCode)
+                .Where(!string.IsNullOrEmpty(pWarehouseName), u => u.WarehouseName == pWarehouseName)
+                .Where(!string.IsNullOrEmpty(pAreaName), u => u.AreaName == pAreaName)
+                .Where(!string.IsNullOrEmpty(pAreaDesc), u => u.AreaDesc == pAreaDesc)
+                .Where(pAreaStatus != null, u => u.AreaStatus == pAreaStatus)
+                .Where(!string.IsNullOrEmpty(pErpCode), u => u.ErpCode == pErpCode)
+                .Where(pWarehouseId != null, u => u.WarehouseId == pWarehouseId)
+                .Where(pIsBarcodeLevelControl != null, u => u.IsBarcodeLevelControl == pIsBarcodeLevelControl)
+                .Where(pIsFIFO != null, u => u.IsFIFO == pIsFIFO)
+                .Where(pIsPartLevelControl != null, u => u.IsPartLevelControl == pIsPartLevelControl)
+                .Where(pIsAllowConfusion != null, u => u.IsAllowConfusion == pIsAllowConfusion)
+                .Where(pIsAllowNegativeInventory != null, u => u.IsAllowNegativeInventory == pIsAllowNegativeInventory)
+                .Where(pIsVirtually != null, u => u.IsVirtually == pIsVirtually)
+                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
+           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
+                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
+            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
+            .ProjectToType<WmsAreaOutput>()
+            .ToListAsync();
+            return wmsAreas;
+        }
+
+         /// <summary>
+        /// 鑾峰彇搴撳尯淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsArea/detail")]
+        public async Task<WmsAreaOutput> Get([FromQuery] QueryeWmsAreaInput input)
+        {
+            return (await _wmsAreaRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsAreaOutput>();
+        }
+
+        /// <summary>
+        /// 鑾峰彇搴撳尯淇℃伅鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsArea/list")]
+        public async Task<List<WmsAreaOutput>> List([FromQuery] WmsAreaInput input)
+        {
+            return await _wmsAreaRep.DetachedEntities.ProjectToType<WmsAreaOutput>().ToListAsync();
+        }    
+
+        #region 澧炪�佸垹銆佹敼
+
+        /// <summary>
+        /// 澧炲姞搴撳尯淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsArea/add")]
+        public async Task Add(AddWmsAreaInput input)
+        {
+            var wmsArea = input.Adapt<WmsArea>();
+                        //楠岃瘉
+            await CheckExisit(wmsArea);
+
+            wmsArea.CreatedUserId = wmsArea.UpdatedUserId = SysHelper.GetUserId();
+            wmsArea.CreatedUserName = wmsArea.UpdatedUserName = SysHelper.GetUserName();
+            wmsArea.CreatedTime = wmsArea.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsAreaRep.InsertAsync(wmsArea);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎搴撳尯淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsArea/delete")]
+        public async Task Delete(DeleteWmsAreaInput input)
+        {
+            var wmsArea = await _wmsAreaRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+            await _wmsAreaRep.DeleteAsync(wmsArea);
+            
+        }
+
+        /// <summary>
+        /// 鏇存柊搴撳尯淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsArea/edit")]
+        public async Task Update(UpdateWmsAreaInput input)
+        {
+            var isExist = await _wmsAreaRep.AnyAsync(u => u.Id == input.Id, false);
+            if (!isExist) throw Oops.Oh(ErrorCode.D1002);
+
+            var wmsArea = input.Adapt<WmsArea>();
+            //楠岃瘉
+            await CheckExisit(wmsArea,true);
+
+            wmsArea.UpdatedUserId = SysHelper.GetUserId();
+            wmsArea.UpdatedUserName = SysHelper.GetUserName();
+            wmsArea.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsAreaRep.UpdateAsync(wmsArea,ignoreNullValues:true);
+        }
+
+        #endregion
+
+        #region 瀵煎叆
+
+        /// <summary>
+        /// Excel妯℃澘瀵煎叆搴撳尯淇℃伅鍔熻兘
+        /// </summary>
+        /// <param name="file">Excel妯℃澘鏂囦欢</param>
+        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+        [HttpPost("WmsArea/importExcel")]
+        public async Task<int> ImportExcelAsync(IFormFile file)
+        { 
+            int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+            int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+
+            DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+            var addList =await CommonImport(importDataTable, _DataStartLine);
+
+            lock (_lock)
+            {
+                _wmsAreaRep.InsertAsync(addList);
+               
+            }
+            await Task.CompletedTask;
+            return addList.Count;
+        }
+
+        /// <summary>
+        ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+        /// </summary>
+        /// <param name="dataTable"></param>
+        /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+        /// <returns></returns>
+        private async Task<List<WmsArea>> CommonImport(DataTable dataTable, int dataStartLine)
+        {
+
+            var details = new List<WmsArea>();
+            int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+            foreach (System.Data.DataRow row in dataTable.Rows)
+            {
+                index++;
+
+               //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                          
+                           var addItem = new WmsArea()
+                            {
+                               CreatedTime = SysHelper.GetNowTime(),
+                               CreatedUserId = SysHelper.GetUserId(),
+                               CreatedUserName = SysHelper.GetUserName(),
+                               UpdatedTime = SysHelper.GetNowTime(),
+                               UpdatedUserId = SysHelper.GetUserId(),
+                               UpdatedUserName = SysHelper.GetUserName()
+                             };
+                          #region 瀹氫箟鍙橀噺
+                           var _AreaCode = "";//搴撳尯缂栫爜
+                           var _WarehouseCode = "";//浠撳簱缂栧彿
+                           var _WarehouseName = "";//浠撳簱鍚嶇О
+                           var _AreaName = "";//搴撳尯鍚嶇О
+                           var _AreaDesc = "";//搴撳尯鎻忚堪
+                           var _AreaStatus = "";//搴撳尯鐘舵��
+                           var _ErpCode = "";//ERP浠g爜
+                           var _WarehouseId = "";//鎵�灞炰粨搴�
+                           var _IsBarcodeLevelControl = "";//闆朵欢绾х鎺�
+                           var _IsFIFO = "";//妫�楠屽厛杩涘厛鍑�
+                           var _IsPartLevelControl = "";//闆朵欢绾х鎺�
+                           var _IsAllowConfusion = "";//鍏佽娣锋穯
+                           var _IsAllowNegativeInventory = "";//鍏佽璐熷簱瀛�
+                           var _IsVirtually = "";//鏄惁铏氭嫙
+                           var _IsDisabled = "";//鏄惁绂佺敤
+                           var _Id = "";//Id涓婚敭
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _AreaCode = row["搴撳尯缂栫爜"]?.ToString() ;
+                           _WarehouseCode = row["浠撳簱缂栧彿"]?.ToString() ;
+                           _WarehouseName = row["浠撳簱鍚嶇О"]?.ToString() ;
+                           _AreaName = row["搴撳尯鍚嶇О"]?.ToString() ;
+                           _AreaDesc = row["搴撳尯鎻忚堪"]?.ToString() ;
+                           _AreaStatus = row["搴撳尯鐘舵��"]?.ToString() ;
+                           _ErpCode = row["ERP浠g爜"]?.ToString() ;
+                           _WarehouseId = row["鎵�灞炰粨搴�"]?.ToString() ;
+                           _IsBarcodeLevelControl = row["闆朵欢绾х鎺�"]?.ToString() ;
+                           _IsFIFO = row["妫�楠屽厛杩涘厛鍑�"]?.ToString() ;
+                           _IsPartLevelControl = row["闆朵欢绾х鎺�"]?.ToString() ;
+                           _IsAllowConfusion = row["鍏佽娣锋穯"]?.ToString() ;
+                           _IsAllowNegativeInventory = row["鍏佽璐熷簱瀛�"]?.ToString() ;
+                           _IsVirtually = row["鏄惁铏氭嫙"]?.ToString() ;
+                           _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ;
+                           _Id = row["Id涓婚敭"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_AreaCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾搴撳尯缂栫爜]{_AreaCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AreaCode))
+                          {
+                                addItem.AreaCode = (string)_AreaCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_WarehouseCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾浠撳簱缂栧彿]{_WarehouseCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_WarehouseCode))
+                          {
+                                addItem.WarehouseCode = (string)_WarehouseCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_WarehouseName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾浠撳簱鍚嶇О]{_WarehouseName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_WarehouseName))
+                          {
+                                addItem.WarehouseName = (string)_WarehouseName;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AreaName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾搴撳尯鍚嶇О]{_AreaName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AreaName))
+                          {
+                                addItem.AreaName = (string)_AreaName;
+                           }
+                          if(!string.IsNullOrEmpty(_AreaDesc))
+                          {
+                                addItem.AreaDesc = (string)_AreaDesc;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_AreaStatus))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾搴撳尯鐘舵�乚{_AreaStatus}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_AreaStatus))
+                          {
+                              if (!int.TryParse(_AreaStatus, out int outAreaStatus)&&!string.IsNullOrEmpty(_AreaStatus))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撳尯鐘舵�乚{_AreaStatus}鍊间笉姝g‘锛�");
+                              }
+                              if (outAreaStatus <= 0&&!string.IsNullOrEmpty(_AreaStatus))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撳尯鐘舵�乚{_AreaStatus}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.AreaStatus = outAreaStatus;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_ErpCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾ERP浠g爜]{_ErpCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_ErpCode))
+                          {
+                                addItem.ErpCode = (string)_ErpCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_WarehouseId))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鎵�灞炰粨搴揮{_WarehouseId}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_WarehouseId))
+                          {
+                              if (!long.TryParse(_WarehouseId, out long outWarehouseId)&&!string.IsNullOrEmpty(_WarehouseId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鎵�灞炰粨搴揮{_WarehouseId}鍊间笉姝g‘锛�");
+                              }
+                              if (outWarehouseId <= 0&&!string.IsNullOrEmpty(_WarehouseId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鎵�灞炰粨搴揮{_WarehouseId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.WarehouseId = outWarehouseId;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_IsBarcodeLevelControl))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsBarcodeLevelControl}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsBarcodeLevelControl))
+                          {
+                            if(!_IsBarcodeLevelControl.Equals("鏄�") && !_IsBarcodeLevelControl.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsBarcodeLevelControl}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsBarcodeLevelControl = _IsBarcodeLevelControl.Equals("鏄�") ? true : false;
+                               addItem.IsBarcodeLevelControl = outIsBarcodeLevelControl;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_IsFIFO))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾妫�楠屽厛杩涘厛鍑篯{_IsFIFO}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsFIFO))
+                          {
+                            if(!_IsFIFO.Equals("鏄�") && !_IsFIFO.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾妫�楠屽厛杩涘厛鍑篯{_IsFIFO}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsFIFO = _IsFIFO.Equals("鏄�") ? true : false;
+                               addItem.IsFIFO = outIsFIFO;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_IsPartLevelControl))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsPartLevelControl}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsPartLevelControl))
+                          {
+                            if(!_IsPartLevelControl.Equals("鏄�") && !_IsPartLevelControl.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾闆朵欢绾х鎺{_IsPartLevelControl}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsPartLevelControl = _IsPartLevelControl.Equals("鏄�") ? true : false;
+                               addItem.IsPartLevelControl = outIsPartLevelControl;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_IsAllowConfusion))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍏佽娣锋穯]{_IsAllowConfusion}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsAllowConfusion))
+                          {
+                            if(!_IsAllowConfusion.Equals("鏄�") && !_IsAllowConfusion.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鍏佽娣锋穯]{_IsAllowConfusion}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsAllowConfusion = _IsAllowConfusion.Equals("鏄�") ? true : false;
+                               addItem.IsAllowConfusion = outIsAllowConfusion;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_IsAllowNegativeInventory))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍏佽璐熷簱瀛榏{_IsAllowNegativeInventory}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsAllowNegativeInventory))
+                          {
+                            if(!_IsAllowNegativeInventory.Equals("鏄�") && !_IsAllowNegativeInventory.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鍏佽璐熷簱瀛榏{_IsAllowNegativeInventory}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsAllowNegativeInventory = _IsAllowNegativeInventory.Equals("鏄�") ? true : false;
+                               addItem.IsAllowNegativeInventory = outIsAllowNegativeInventory;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_IsVirtually))
+                          {
+                            if(!_IsVirtually.Equals("鏄�") && !_IsVirtually.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsVirtually = _IsVirtually.Equals("鏄�") ? true : false;
+                               addItem.IsVirtually = outIsVirtually;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_IsDisabled))
+                          {
+                            if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false;
+                               addItem.IsDisabled = outIsDisabled;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_Id))
+                          {
+                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�");
+                              }
+                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Id = outId;
+                              }
+                          
+                          }
+                          #endregion
+                          
+
+              
+                details.Add(addItem);
+            }
+              //楠岄噸
+              await CheckExisitForImport(details);
+            
+            return details;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鐗堟湰涓嬭浇搴撳尯淇℃伅鐨凟xcel瀵煎叆妯℃澘
+        /// </summary>
+        /// <param name="version">妯℃澘鐗堟湰</param>
+        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        [HttpGet("WmsArea/downloadExcelTemplate")]
+        public IActionResult DownloadExcelTemplate([FromQuery] string version)
+        {
+            string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsArea{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(搴撳尯淇℃伅).xlsx", Encoding.GetEncoding("UTF-8"));
+            return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+        }
+
+        #endregion
+
+        #region 绉佹湁鏂规硶
+
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="isEdit"></param>
+        /// <returns></returns>
+        private async Task CheckExisit( WmsArea input,bool isEdit=false)
+        {
+           
+
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _wmsAreaRep.AnyAsync(u =>
+                                   u.AreaCode.Equals(input.AreaCode)
+                   ,false);
+          }
+           else//缂栬緫 
+          {
+
+          
+                
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _wmsAreaRep.AnyAsync(u => 
+                                    u.Id != input.Id
+                                    &&u.AreaCode.Equals(input.AreaCode)
+                    ,false);
+               }
+               
+        
+
+            if (isExist) throw Oops.Oh(ErrorCode.E0001);
+       }
+        
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsArea> inputs)
+        { 
+            //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 if (inputs?.Count <= 0)
+                 {
+                     throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+                 }
+                 //鏁版嵁鏄惁閲嶅
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.AreaCode
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.AreaCode
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var wmsArea = existExcelItem.Adapt<WmsArea>();
+                   var item= existExcelItem.Adapt<WmsArea>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,搴撳尯缂栫爜[{item.AreaCode}]宸插瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _wmsAreaRep.DetachedEntities.FirstOrDefaultAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.AreaCode
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.AreaCode
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var wmsArea = existExcelItem.Adapt<WmsArea>();
+                   var item= existExcelItem.Adapt<WmsArea>();
+                   throw Oops.Oh($"绯荤粺涓�,搴撳尯缂栫爜[{item.AreaCode}]宸插瓨鍦�");
+                 }
+        }
+
+        #endregion
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs
new file mode 100644
index 0000000..665f26c
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerInput.cs
@@ -0,0 +1,348 @@
+锘縰sing Admin.NET.Core;
+using Admin.NET.Core.Service;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application
+{    
+    
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅鏌ヨ鍙傛暟
+    /// </summary>
+    public class WmsContainerSearch : PageInputBase
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public virtual string ContainerCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public virtual string ContainerName { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷ID
+        /// </summary>
+        public virtual long? ContainerTypeId { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string ContainerTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀹瑰櫒鍏崇郴ID
+        /// </summary>
+        public virtual long? PackagingId { get; set; }
+        
+        /// <summary>
+        /// 闀垮害
+        /// </summary>
+        public virtual decimal? SpecLength { get; set; }
+        
+        /// <summary>
+        /// 瀹藉害
+        /// </summary>
+        public virtual decimal? SpecWidth { get; set; }
+        
+        /// <summary>
+        /// 楂樺害
+        /// </summary>
+        public virtual decimal? SpecHeight { get; set; }
+        
+        /// <summary>
+        /// 闄愰暱
+        /// </summary>
+        public virtual decimal? LimitLength { get; set; }
+        
+        /// <summary>
+        /// 闄愬
+        /// </summary>
+        public virtual decimal? LimitWidth { get; set; }
+        
+        /// <summary>
+        /// 闄愰珮
+        /// </summary>
+        public virtual decimal? LimitHeight { get; set; }
+        
+        /// <summary>
+        /// 杞介噸涓婇檺
+        /// </summary>
+        public virtual decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣ㄥ悕绉�
+        /// </summary>
+        public virtual string ParentContainerName { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣↖d
+        /// </summary>
+        public virtual long? ParentContainerId { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual int? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual List<string> CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual List<string> UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+        /// <summary>
+    /// 瀹瑰櫒淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+    /// </summary>
+    public class WmsContainerSearchNonPage : PageInputNonPageBase
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public virtual string ContainerCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public virtual string ContainerName { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷ID
+        /// </summary>
+        public virtual long? ContainerTypeId { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string ContainerTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀹瑰櫒鍏崇郴ID
+        /// </summary>
+        public virtual long? PackagingId { get; set; }
+        
+        /// <summary>
+        /// 闀垮害
+        /// </summary>
+        public virtual decimal? SpecLength { get; set; }
+        
+        /// <summary>
+        /// 瀹藉害
+        /// </summary>
+        public virtual decimal? SpecWidth { get; set; }
+        
+        /// <summary>
+        /// 楂樺害
+        /// </summary>
+        public virtual decimal? SpecHeight { get; set; }
+        
+        /// <summary>
+        /// 闄愰暱
+        /// </summary>
+        public virtual decimal? LimitLength { get; set; }
+        
+        /// <summary>
+        /// 闄愬
+        /// </summary>
+        public virtual decimal? LimitWidth { get; set; }
+        
+        /// <summary>
+        /// 闄愰珮
+        /// </summary>
+        public virtual decimal? LimitHeight { get; set; }
+        
+        /// <summary>
+        /// 杞介噸涓婇檺
+        /// </summary>
+        public virtual decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣ㄥ悕绉�
+        /// </summary>
+        public virtual string ParentContainerName { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣↖d
+        /// </summary>
+        public virtual long? ParentContainerId { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual int? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsContainerInput
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "缂栧彿涓嶈兘涓虹┖")]
+        public virtual string ContainerCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string ContainerName { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷ID
+        /// </summary>
+        [Required(ErrorMessage = "绫诲瀷ID涓嶈兘涓虹┖")]
+        public virtual long ContainerTypeId { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "绫诲瀷鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string ContainerTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀹瑰櫒鍏崇郴ID
+        /// </summary>
+        [Required(ErrorMessage = "瀹瑰櫒鍏崇郴ID涓嶈兘涓虹┖")]
+        public virtual long PackagingId { get; set; }
+        
+        /// <summary>
+        /// 闀垮害
+        /// </summary>
+        public virtual decimal? SpecLength { get; set; }
+        
+        /// <summary>
+        /// 瀹藉害
+        /// </summary>
+        public virtual decimal? SpecWidth { get; set; }
+        
+        /// <summary>
+        /// 楂樺害
+        /// </summary>
+        public virtual decimal? SpecHeight { get; set; }
+        
+        /// <summary>
+        /// 闄愰暱
+        /// </summary>
+        public virtual decimal? LimitLength { get; set; }
+        
+        /// <summary>
+        /// 闄愬
+        /// </summary>
+        public virtual decimal? LimitWidth { get; set; }
+        
+        /// <summary>
+        /// 闄愰珮
+        /// </summary>
+        public virtual decimal? LimitHeight { get; set; }
+        
+        /// <summary>
+        /// 杞介噸涓婇檺
+        /// </summary>
+        public virtual decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣ㄥ悕绉�
+        /// </summary>
+        public virtual string ParentContainerName { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣↖d
+        /// </summary>
+        public virtual long? ParentContainerId { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual int? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅鏂板鍙傛暟
+    /// </summary>
+    public class AddWmsContainerInput : WmsContainerInput
+    {
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅鍒犻櫎鍙傛暟
+    /// </summary>
+    public class DeleteWmsContainerInput : BaseId
+    {
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅鏇存柊鍙傛暟
+    /// </summary>
+    public class UpdateWmsContainerInput : WmsContainerInput
+    {
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
+        public long? Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅鑾峰彇鍗曚釜鍙傛暟
+    /// </summary>
+    public class QueryeWmsContainerInput : BaseId
+    {
+
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs
new file mode 100644
index 0000000..fdb5903
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Dto/WmsContainerOutput.cs
@@ -0,0 +1,117 @@
+锘縰sing Admin.NET.Core.Util.LowCode.Dto;
+using System;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅杈撳嚭鍙傛暟
+    /// </summary>
+    public class WmsContainerOutput
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public string ContainerCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public string ContainerName { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷ID
+        /// </summary>
+        public long ContainerTypeId { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public string ContainerTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀹瑰櫒鍏崇郴ID
+        /// </summary>
+        public long PackagingId { get; set; }
+        
+        /// <summary>
+        /// 闀垮害
+        /// </summary>
+        public decimal? SpecLength { get; set; }
+        
+        /// <summary>
+        /// 瀹藉害
+        /// </summary>
+        public decimal? SpecWidth { get; set; }
+        
+        /// <summary>
+        /// 楂樺害
+        /// </summary>
+        public decimal? SpecHeight { get; set; }
+        
+        /// <summary>
+        /// 闄愰暱
+        /// </summary>
+        public decimal? LimitLength { get; set; }
+        
+        /// <summary>
+        /// 闄愬
+        /// </summary>
+        public decimal? LimitWidth { get; set; }
+        
+        /// <summary>
+        /// 闄愰珮
+        /// </summary>
+        public decimal? LimitHeight { get; set; }
+        
+        /// <summary>
+        /// 杞介噸涓婇檺
+        /// </summary>
+        public decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣ㄥ悕绉�
+        /// </summary>
+        public string ParentContainerName { get; set; }
+        
+        /// <summary>
+        /// 鐖跺鍣↖d
+        /// </summary>
+        public long? ParentContainerId { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public int? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        public long? Id { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTimeOffset? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public DateTimeOffset? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public string UpdatedUserName { get; set; }
+        
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs
new file mode 100644
index 0000000..6f85e30
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/IWmsContainerService.cs
@@ -0,0 +1,22 @@
+锘縰sing Admin.NET.Core;
+using Microsoft.AspNetCore.Mvc;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Application
+{
+    public interface IWmsContainerService
+    {
+        Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input);
+        Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input);
+        Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input);
+        Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input);
+        
+        Task Add(AddWmsContainerInput input);
+        Task Update(UpdateWmsContainerInput input);
+        Task Delete(DeleteWmsContainerInput input);
+        Task<int> ImportExcelAsync(IFormFile file);
+        IActionResult DownloadExcelTemplate(string version);
+    }
+}
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Map/WmsContainerMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs
similarity index 75%
rename from iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Map/WmsContainerMapper.cs
rename to iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs
index ade3147..e9c8026 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/Common/WmsContainer/Map/WmsContainerMapper.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/Map/WmsContainerMapper.cs
@@ -3,15 +3,8 @@
 
 namespace Admin.NET.Application
 {
-    /// <summary>
-    /// 
-    /// </summary>
     public class WmsContainerMapper : IRegister
     {
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="config"></param>
         public void Register(TypeAdapterConfig config)
         {
             config.ForType<AddWmsContainerInput, WmsContainer>()
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs
new file mode 100644
index 0000000..a1ed450
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainer/WmsContainerService.cs
@@ -0,0 +1,670 @@
+锘縰sing Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor.Extensions;
+using Furion.DependencyInjection;
+using Furion.DynamicApiController;
+using Furion.FriendlyException;
+using Admin.NET.Core;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using System.Linq.Dynamic.Core;
+using Microsoft.AspNetCore.Http;
+using System.Text;
+using System.Web;
+using System.ComponentModel;
+using System.Data;
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 瀹瑰櫒淇℃伅鏈嶅姟
+    /// </summary>
+    [ApiDescriptionSettings("WmsBase", Name = "WmsContainer", Order = 100)]
+    [Route("api")]
+    public class WmsContainerService : IWmsContainerService, IDynamicApiController, ITransient
+    {
+        private readonly IRepository<WmsContainer,MasterDbContextLocator> _wmsContainerRep;
+        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
+        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
+        private readonly ISysExcelTemplateService _sysExcelTemplateService;
+        private readonly static object _lock = new();
+
+        public WmsContainerService(
+            IRepository<WmsContainer,MasterDbContextLocator> wmsContainerRep
+            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
+            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
+            ,ISysExcelTemplateService sysExcelTemplateService
+        )
+        {
+            _wmsContainerRep = wmsContainerRep;
+         _sysDictTypeRep = sysDictTypeRep;
+         _sysDictDataRep = sysDictDataRep;
+         _sysExcelTemplateService = sysExcelTemplateService;
+        }
+
+        /// <summary>
+        /// 鍒嗛〉鏌ヨ瀹瑰櫒淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsContainer/page")]
+        public async Task<PageResult<WmsContainerOutput>> Page([FromQuery] WmsContainerSearch input)
+        {
+            var wmsContainers = await _wmsContainerRep.DetachedEntities
+                                     .Where(!string.IsNullOrEmpty(input.ContainerCode), u => u.ContainerCode == input.ContainerCode)
+                                     .Where(!string.IsNullOrEmpty(input.ContainerName), u => u.ContainerName == input.ContainerName)
+                                     .Where(input.ContainerTypeId != null, u => u.ContainerTypeId == input.ContainerTypeId)
+                                     .Where(!string.IsNullOrEmpty(input.ContainerTypeName), u => u.ContainerTypeName == input.ContainerTypeName)
+                                     .Where(input.PackagingId != null, u => u.PackagingId == input.PackagingId)
+                                     .Where(input.SpecLength != null, u => u.SpecLength == input.SpecLength)
+                                     .Where(input.SpecWidth != null, u => u.SpecWidth == input.SpecWidth)
+                                     .Where(input.SpecHeight != null, u => u.SpecHeight == input.SpecHeight)
+                                     .Where(input.LimitLength != null, u => u.LimitLength == input.LimitLength)
+                                     .Where(input.LimitWidth != null, u => u.LimitWidth == input.LimitWidth)
+                                     .Where(input.LimitHeight != null, u => u.LimitHeight == input.LimitHeight)
+                                     .Where(input.MaxWeight != null, u => u.MaxWeight == input.MaxWeight)
+                                     .Where(!string.IsNullOrEmpty(input.ParentContainerName), u => u.ParentContainerName == input.ParentContainerName)
+                                     .Where(input.ParentContainerId != null, u => u.ParentContainerId == input.ParentContainerId)
+                                     .Where(input.IsVirtually != null, u => u.IsVirtually == input.IsVirtually)
+                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
+                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
+                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
+                                     .OrderBy(PageInputOrder.OrderBuilder<WmsContainerSearch>(input))
+                                     .ProjectToType<WmsContainerOutput>()
+                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
+            return wmsContainers;
+        }
+
+        /// <summary>
+        /// 涓嶅垎椤垫煡璇㈠鍣ㄤ俊鎭垪琛�
+        /// </summary>
+        /// <param name="input">瀹瑰櫒淇℃伅鏌ヨ鍙傛暟</param>
+        /// <returns>(瀹瑰櫒淇℃伅)瀹炰緥鍒楄〃</returns>
+        [HttpGet("WmsContainer/listNonPage")]
+        public async Task<List<WmsContainerOutput>> ListNonPageAsync([FromQuery] WmsContainerSearchNonPage input)
+        {
+            var pContainerCode = input.ContainerCode?.Trim() ?? "";
+            var pContainerName = input.ContainerName?.Trim() ?? "";
+            var pContainerTypeId = input.ContainerTypeId;
+            var pContainerTypeName = input.ContainerTypeName?.Trim() ?? "";
+            var pPackagingId = input.PackagingId;
+            var pSpecLength = input.SpecLength;
+            var pSpecWidth = input.SpecWidth;
+            var pSpecHeight = input.SpecHeight;
+            var pLimitLength = input.LimitLength;
+            var pLimitWidth = input.LimitWidth;
+            var pLimitHeight = input.LimitHeight;
+            var pMaxWeight = input.MaxWeight;
+            var pParentContainerName = input.ParentContainerName?.Trim() ?? "";
+            var pParentContainerId = input.ParentContainerId;
+            var pIsVirtually = input.IsVirtually;
+            var pIsDisabled = input.IsDisabled;
+            var pCreatedTime = input.CreatedTime;
+            var pUpdatedTime = input.UpdatedTime;
+            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
+            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
+            var wmsContainers = await _wmsContainerRep.DetachedEntities
+                .Where(!string.IsNullOrEmpty(pContainerCode), u => u.ContainerCode == pContainerCode)
+                .Where(!string.IsNullOrEmpty(pContainerName), u => u.ContainerName == pContainerName)
+                .Where(pContainerTypeId != null, u => u.ContainerTypeId == pContainerTypeId)
+                .Where(!string.IsNullOrEmpty(pContainerTypeName), u => u.ContainerTypeName == pContainerTypeName)
+                .Where(pPackagingId != null, u => u.PackagingId == pPackagingId)
+                .Where(pSpecLength != null, u => u.SpecLength == pSpecLength)
+                .Where(pSpecWidth != null, u => u.SpecWidth == pSpecWidth)
+                .Where(pSpecHeight != null, u => u.SpecHeight == pSpecHeight)
+                .Where(pLimitLength != null, u => u.LimitLength == pLimitLength)
+                .Where(pLimitWidth != null, u => u.LimitWidth == pLimitWidth)
+                .Where(pLimitHeight != null, u => u.LimitHeight == pLimitHeight)
+                .Where(pMaxWeight != null, u => u.MaxWeight == pMaxWeight)
+                .Where(!string.IsNullOrEmpty(pParentContainerName), u => u.ParentContainerName == pParentContainerName)
+                .Where(pParentContainerId != null, u => u.ParentContainerId == pParentContainerId)
+                .Where(pIsVirtually != null, u => u.IsVirtually == pIsVirtually)
+                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
+           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
+                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
+            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
+            .ProjectToType<WmsContainerOutput>()
+            .ToListAsync();
+            return wmsContainers;
+        }
+
+         /// <summary>
+        /// 鑾峰彇瀹瑰櫒淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsContainer/detail")]
+        public async Task<WmsContainerOutput> Get([FromQuery] QueryeWmsContainerInput input)
+        {
+            return (await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerOutput>();
+        }
+
+        /// <summary>
+        /// 鑾峰彇瀹瑰櫒淇℃伅鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsContainer/list")]
+        public async Task<List<WmsContainerOutput>> List([FromQuery] WmsContainerInput input)
+        {
+            return await _wmsContainerRep.DetachedEntities.ProjectToType<WmsContainerOutput>().ToListAsync();
+        }    
+
+        #region 澧炪�佸垹銆佹敼
+
+        /// <summary>
+        /// 澧炲姞瀹瑰櫒淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsContainer/add")]
+        public async Task Add(AddWmsContainerInput input)
+        {
+            var wmsContainer = input.Adapt<WmsContainer>();
+                        //楠岃瘉
+            await CheckExisit(wmsContainer);
+
+            wmsContainer.CreatedUserId = wmsContainer.UpdatedUserId = SysHelper.GetUserId();
+            wmsContainer.CreatedUserName = wmsContainer.UpdatedUserName = SysHelper.GetUserName();
+            wmsContainer.CreatedTime = wmsContainer.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsContainerRep.InsertAsync(wmsContainer);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎瀹瑰櫒淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsContainer/delete")]
+        public async Task Delete(DeleteWmsContainerInput input)
+        {
+            var wmsContainer = await _wmsContainerRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+            await _wmsContainerRep.DeleteAsync(wmsContainer);
+            
+        }
+
+        /// <summary>
+        /// 鏇存柊瀹瑰櫒淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsContainer/edit")]
+        public async Task Update(UpdateWmsContainerInput input)
+        {
+            var isExist = await _wmsContainerRep.AnyAsync(u => u.Id == input.Id, false);
+            if (!isExist) throw Oops.Oh(ErrorCode.D1002);
+
+            var wmsContainer = input.Adapt<WmsContainer>();
+            //楠岃瘉
+            await CheckExisit(wmsContainer,true);
+
+            wmsContainer.UpdatedUserId = SysHelper.GetUserId();
+            wmsContainer.UpdatedUserName = SysHelper.GetUserName();
+            wmsContainer.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsContainerRep.UpdateAsync(wmsContainer,ignoreNullValues:true);
+        }
+
+        #endregion
+
+        #region 瀵煎叆
+
+        /// <summary>
+        /// Excel妯℃澘瀵煎叆瀹瑰櫒淇℃伅鍔熻兘
+        /// </summary>
+        /// <param name="file">Excel妯℃澘鏂囦欢</param>
+        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+        [HttpPost("WmsContainer/importExcel")]
+        public async Task<int> ImportExcelAsync(IFormFile file)
+        { 
+            int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+            int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+
+            DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+            var addList =await CommonImport(importDataTable, _DataStartLine);
+
+            lock (_lock)
+            {
+                _wmsContainerRep.InsertAsync(addList);
+               
+            }
+            await Task.CompletedTask;
+            return addList.Count;
+        }
+
+        /// <summary>
+        ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+        /// </summary>
+        /// <param name="dataTable"></param>
+        /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+        /// <returns></returns>
+        private async Task<List<WmsContainer>> CommonImport(DataTable dataTable, int dataStartLine)
+        {
+
+            var details = new List<WmsContainer>();
+            int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+            foreach (System.Data.DataRow row in dataTable.Rows)
+            {
+                index++;
+
+               //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                          
+                           var addItem = new WmsContainer()
+                            {
+                               CreatedTime = SysHelper.GetNowTime(),
+                               CreatedUserId = SysHelper.GetUserId(),
+                               CreatedUserName = SysHelper.GetUserName(),
+                               UpdatedTime = SysHelper.GetNowTime(),
+                               UpdatedUserId = SysHelper.GetUserId(),
+                               UpdatedUserName = SysHelper.GetUserName()
+                             };
+                          #region 瀹氫箟鍙橀噺
+                           var _ContainerCode = "";//缂栧彿
+                           var _ContainerName = "";//鍚嶇О
+                           var _ContainerTypeId = "";//绫诲瀷ID
+                           var _ContainerTypeName = "";//绫诲瀷鍚嶇О
+                           var _PackagingId = "";//瀹瑰櫒鍏崇郴ID
+                           var _SpecLength = "";//闀垮害
+                           var _SpecWidth = "";//瀹藉害
+                           var _SpecHeight = "";//楂樺害
+                           var _LimitLength = "";//闄愰暱
+                           var _LimitWidth = "";//闄愬
+                           var _LimitHeight = "";//闄愰珮
+                           var _MaxWeight = "";//杞介噸涓婇檺
+                           var _ParentContainerName = "";//鐖跺鍣ㄥ悕绉�
+                           var _ParentContainerId = "";//鐖跺鍣↖d
+                           var _IsVirtually = "";//鏄惁铏氭嫙
+                           var _IsDisabled = "";//鏄惁绂佺敤
+                           var _Id = "";//Id涓婚敭
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _ContainerCode = row["缂栧彿"]?.ToString() ;
+                           _ContainerName = row["鍚嶇О"]?.ToString() ;
+                           _ContainerTypeId = row["绫诲瀷ID"]?.ToString() ;
+                           _ContainerTypeName = row["绫诲瀷鍚嶇О"]?.ToString() ;
+                           _PackagingId = row["瀹瑰櫒鍏崇郴ID"]?.ToString() ;
+                           _SpecLength = row["闀垮害"]?.ToString() ;
+                           _SpecWidth = row["瀹藉害"]?.ToString() ;
+                           _SpecHeight = row["楂樺害"]?.ToString() ;
+                           _LimitLength = row["闄愰暱"]?.ToString() ;
+                           _LimitWidth = row["闄愬"]?.ToString() ;
+                           _LimitHeight = row["闄愰珮"]?.ToString() ;
+                           _MaxWeight = row["杞介噸涓婇檺"]?.ToString() ;
+                           _ParentContainerName = row["鐖跺鍣ㄥ悕绉�"]?.ToString() ;
+                           _ParentContainerId = row["鐖跺鍣↖d"]?.ToString() ;
+                           _IsVirtually = row["鏄惁铏氭嫙"]?.ToString() ;
+                           _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ;
+                           _Id = row["Id涓婚敭"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_ContainerCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾缂栧彿]{_ContainerCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_ContainerCode))
+                          {
+                                addItem.ContainerCode = (string)_ContainerCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_ContainerName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍚嶇О]{_ContainerName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_ContainerName))
+                          {
+                                addItem.ContainerName = (string)_ContainerName;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_ContainerTypeId))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾绫诲瀷ID]{_ContainerTypeId}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_ContainerTypeId))
+                          {
+                              if (!long.TryParse(_ContainerTypeId, out long outContainerTypeId)&&!string.IsNullOrEmpty(_ContainerTypeId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾绫诲瀷ID]{_ContainerTypeId}鍊间笉姝g‘锛�");
+                              }
+                              if (outContainerTypeId <= 0&&!string.IsNullOrEmpty(_ContainerTypeId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾绫诲瀷ID]{_ContainerTypeId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.ContainerTypeId = outContainerTypeId;
+                              }
+                          
+                          }
+                          
+                          if (string.IsNullOrEmpty(_ContainerTypeName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾绫诲瀷鍚嶇О]{_ContainerTypeName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_ContainerTypeName))
+                          {
+                                addItem.ContainerTypeName = (string)_ContainerTypeName;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_PackagingId))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾瀹瑰櫒鍏崇郴ID]{_PackagingId}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_PackagingId))
+                          {
+                              if (!long.TryParse(_PackagingId, out long outPackagingId)&&!string.IsNullOrEmpty(_PackagingId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀹瑰櫒鍏崇郴ID]{_PackagingId}鍊间笉姝g‘锛�");
+                              }
+                              if (outPackagingId <= 0&&!string.IsNullOrEmpty(_PackagingId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀹瑰櫒鍏崇郴ID]{_PackagingId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.PackagingId = outPackagingId;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_SpecLength))
+                          {
+                              if (!decimal.TryParse(_SpecLength, out decimal outSpecLength)&&!string.IsNullOrEmpty(_SpecLength))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闀垮害]{_SpecLength}鍊间笉姝g‘锛�");
+                              }
+                              if (outSpecLength <= 0&&!string.IsNullOrEmpty(_SpecLength))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闀垮害]{_SpecLength}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.SpecLength = outSpecLength;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_SpecWidth))
+                          {
+                              if (!decimal.TryParse(_SpecWidth, out decimal outSpecWidth)&&!string.IsNullOrEmpty(_SpecWidth))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀹藉害]{_SpecWidth}鍊间笉姝g‘锛�");
+                              }
+                              if (outSpecWidth <= 0&&!string.IsNullOrEmpty(_SpecWidth))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾瀹藉害]{_SpecWidth}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.SpecWidth = outSpecWidth;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_SpecHeight))
+                          {
+                              if (!decimal.TryParse(_SpecHeight, out decimal outSpecHeight)&&!string.IsNullOrEmpty(_SpecHeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾楂樺害]{_SpecHeight}鍊间笉姝g‘锛�");
+                              }
+                              if (outSpecHeight <= 0&&!string.IsNullOrEmpty(_SpecHeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾楂樺害]{_SpecHeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.SpecHeight = outSpecHeight;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_LimitLength))
+                          {
+                              if (!decimal.TryParse(_LimitLength, out decimal outLimitLength)&&!string.IsNullOrEmpty(_LimitLength))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闄愰暱]{_LimitLength}鍊间笉姝g‘锛�");
+                              }
+                              if (outLimitLength <= 0&&!string.IsNullOrEmpty(_LimitLength))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闄愰暱]{_LimitLength}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.LimitLength = outLimitLength;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_LimitWidth))
+                          {
+                              if (!decimal.TryParse(_LimitWidth, out decimal outLimitWidth)&&!string.IsNullOrEmpty(_LimitWidth))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闄愬]{_LimitWidth}鍊间笉姝g‘锛�");
+                              }
+                              if (outLimitWidth <= 0&&!string.IsNullOrEmpty(_LimitWidth))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闄愬]{_LimitWidth}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.LimitWidth = outLimitWidth;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_LimitHeight))
+                          {
+                              if (!decimal.TryParse(_LimitHeight, out decimal outLimitHeight)&&!string.IsNullOrEmpty(_LimitHeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闄愰珮]{_LimitHeight}鍊间笉姝g‘锛�");
+                              }
+                              if (outLimitHeight <= 0&&!string.IsNullOrEmpty(_LimitHeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾闄愰珮]{_LimitHeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.LimitHeight = outLimitHeight;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_MaxWeight))
+                          {
+                              if (!decimal.TryParse(_MaxWeight, out decimal outMaxWeight)&&!string.IsNullOrEmpty(_MaxWeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾杞介噸涓婇檺]{_MaxWeight}鍊间笉姝g‘锛�");
+                              }
+                              if (outMaxWeight <= 0&&!string.IsNullOrEmpty(_MaxWeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾杞介噸涓婇檺]{_MaxWeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.MaxWeight = outMaxWeight;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_ParentContainerName))
+                          {
+                                addItem.ParentContainerName = (string)_ParentContainerName;
+                           }
+                          if(!string.IsNullOrEmpty(_ParentContainerId))
+                          {
+                              if (!long.TryParse(_ParentContainerId, out long outParentContainerId)&&!string.IsNullOrEmpty(_ParentContainerId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鐖跺鍣↖d]{_ParentContainerId}鍊间笉姝g‘锛�");
+                              }
+                              if (outParentContainerId <= 0&&!string.IsNullOrEmpty(_ParentContainerId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鐖跺鍣↖d]{_ParentContainerId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.ParentContainerId = outParentContainerId;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_IsVirtually))
+                          {
+                              if (!int.TryParse(_IsVirtually, out int outIsVirtually)&&!string.IsNullOrEmpty(_IsVirtually))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉姝g‘锛�");
+                              }
+                              if (outIsVirtually <= 0&&!string.IsNullOrEmpty(_IsVirtually))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.IsVirtually = outIsVirtually;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_IsDisabled))
+                          {
+                            if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false;
+                               addItem.IsDisabled = outIsDisabled;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_Id))
+                          {
+                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�");
+                              }
+                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Id = outId;
+                              }
+                          
+                          }
+                          #endregion
+                          
+
+              
+                details.Add(addItem);
+            }
+              //楠岄噸
+              await CheckExisitForImport(details);
+            
+            return details;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒淇℃伅鐨凟xcel瀵煎叆妯℃澘
+        /// </summary>
+        /// <param name="version">妯℃澘鐗堟湰</param>
+        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        [HttpGet("WmsContainer/downloadExcelTemplate")]
+        public IActionResult DownloadExcelTemplate([FromQuery] string version)
+        {
+            string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainer{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒淇℃伅).xlsx", Encoding.GetEncoding("UTF-8"));
+            return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+        }
+
+        #endregion
+
+        #region 绉佹湁鏂规硶
+
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="isEdit"></param>
+        /// <returns></returns>
+        private async Task CheckExisit( WmsContainer input,bool isEdit=false)
+        {
+           
+
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _wmsContainerRep.AnyAsync(u =>
+                                   u.ContainerCode.Equals(input.ContainerCode)
+                   ,false);
+          }
+           else//缂栬緫 
+          {
+
+          
+                
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _wmsContainerRep.AnyAsync(u => 
+                                    u.Id != input.Id
+                                    &&u.ContainerCode.Equals(input.ContainerCode)
+                    ,false);
+               }
+               
+        
+
+            if (isExist) throw Oops.Oh(ErrorCode.E0001);
+       }
+        
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsContainer> inputs)
+        { 
+            //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 if (inputs?.Count <= 0)
+                 {
+                     throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+                 }
+                 //鏁版嵁鏄惁閲嶅
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.ContainerCode
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.ContainerCode
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var wmsContainer = existExcelItem.Adapt<WmsContainer>();
+                   var item= existExcelItem.Adapt<WmsContainer>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,缂栧彿[{item.ContainerCode}]宸插瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _wmsContainerRep.DetachedEntities.FirstOrDefaultAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.ContainerCode
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.ContainerCode
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var wmsContainer = existExcelItem.Adapt<WmsContainer>();
+                   var item= existExcelItem.Adapt<WmsContainer>();
+                   throw Oops.Oh($"绯荤粺涓�,缂栧彿[{item.ContainerCode}]宸插瓨鍦�");
+                 }
+        }
+
+        #endregion
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs
index 2339e48..98befd3 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingInput.cs
@@ -6,7 +6,7 @@
 {    
     
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�
+    /// 瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟
     /// </summary>
     public class WmsContainerPackagingSearch : PageInputBase
     {
@@ -63,7 +63,7 @@
     }
 
         /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+    /// 瀹瑰櫒鍏崇郴涓嶅垎椤垫煡璇㈠弬鏁�
     /// </summary>
     public class WmsContainerPackagingSearchNonPage : PageInputNonPageBase
     {
@@ -120,7 +120,7 @@
     }
 
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍏ュ弬鏁�
+    /// 瀹瑰櫒鍏崇郴杈撳叆鍙傛暟
     /// </summary>
     public class WmsContainerPackagingInput
     {
@@ -163,21 +163,21 @@
     }
 
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ柊澧炲弬鏁�
+    /// 瀹瑰櫒鍏崇郴鏂板鍙傛暟
     /// </summary>
     public class AddWmsContainerPackagingInput : WmsContainerPackagingInput
     {
     }
 
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄥ垹闄ゅ弬鏁�
+    /// 瀹瑰櫒鍏崇郴鍒犻櫎鍙傛暟
     /// </summary>
     public class DeleteWmsContainerPackagingInput : BaseId
     {
     }
 
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ洿鏂板弬鏁�
+    /// 瀹瑰櫒鍏崇郴鏇存柊鍙傛暟
     /// </summary>
     public class UpdateWmsContainerPackagingInput : WmsContainerPackagingInput
     {
@@ -190,7 +190,7 @@
     }
 
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄨ幏鍙栧崟涓弬鏁�
+    /// 瀹瑰櫒鍏崇郴鑾峰彇鍗曚釜鍙傛暟
     /// </summary>
     public class QueryeWmsContainerPackagingInput : BaseId
     {
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs
index b52ee08..f8fb339 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/Dto/WmsContainerPackagingOutput.cs
@@ -4,7 +4,7 @@
 namespace Admin.NET.Application
 {
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍑哄弬鏁�
+    /// 瀹瑰櫒鍏崇郴杈撳嚭鍙傛暟
     /// </summary>
     public class WmsContainerPackagingOutput
     {
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs
index b4ceca0..3b36ac6 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerPackaging/WmsContainerPackagingService.cs
@@ -16,7 +16,7 @@
 namespace Admin.NET.Application
 {
     /// <summary>
-    /// 瀹瑰櫒鍏崇郴鍩虹琛ㄦ湇鍔�
+    /// 瀹瑰櫒鍏崇郴鏈嶅姟
     /// </summary>
     [ApiDescriptionSettings("WmsBase", Name = "WmsContainerPackaging", Order = 100)]
     [Route("api")]
@@ -42,7 +42,7 @@
         }
 
         /// <summary>
-        /// 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴鍩虹琛�
+        /// 鍒嗛〉鏌ヨ瀹瑰櫒鍏崇郴
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -67,10 +67,10 @@
         }
 
         /// <summary>
-        /// 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲熀纭�琛ㄥ垪琛�
+        /// 涓嶅垎椤垫煡璇㈠鍣ㄥ叧绯诲垪琛�
         /// </summary>
-        /// <param name="input">瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�</param>
-        /// <returns>(瀹瑰櫒鍏崇郴鍩虹琛�)瀹炰緥鍒楄〃</returns>
+        /// <param name="input">瀹瑰櫒鍏崇郴鏌ヨ鍙傛暟</param>
+        /// <returns>(瀹瑰櫒鍏崇郴)瀹炰緥鍒楄〃</returns>
         [HttpGet("WmsContainerPackaging/listNonPage")]
         public async Task<List<WmsContainerPackagingOutput>> ListNonPageAsync([FromQuery] WmsContainerPackagingSearchNonPage input)
         {
@@ -102,7 +102,7 @@
         }
 
          /// <summary>
-        /// 鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛�
+        /// 鑾峰彇瀹瑰櫒鍏崇郴
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -113,7 +113,7 @@
         }
 
         /// <summary>
-        /// 鑾峰彇瀹瑰櫒鍏崇郴鍩虹琛ㄥ垪琛�
+        /// 鑾峰彇瀹瑰櫒鍏崇郴鍒楄〃
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -126,7 +126,7 @@
         #region 澧炪�佸垹銆佹敼
 
         /// <summary>
-        /// 澧炲姞瀹瑰櫒鍏崇郴鍩虹琛�
+        /// 澧炲姞瀹瑰櫒鍏崇郴
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -144,7 +144,7 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎瀹瑰櫒鍏崇郴鍩虹琛�
+        /// 鍒犻櫎瀹瑰櫒鍏崇郴
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -157,7 +157,7 @@
         }
 
         /// <summary>
-        /// 鏇存柊瀹瑰櫒鍏崇郴鍩虹琛�
+        /// 鏇存柊瀹瑰櫒鍏崇郴
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -182,7 +182,7 @@
         #region 瀵煎叆
 
         /// <summary>
-        /// Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍩虹琛ㄥ姛鑳�
+        /// Excel妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍔熻兘
         /// </summary>
         /// <param name="file">Excel妯℃澘鏂囦欢</param>
         /// <returns>瀵煎叆鐨勮褰曟暟</returns>
@@ -378,7 +378,7 @@
         }
 
         /// <summary>
-        /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘
+        /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鐨凟xcel瀵煎叆妯℃澘
         /// </summary>
         /// <param name="version">妯℃澘鐗堟湰</param>
         /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
@@ -386,7 +386,7 @@
         public IActionResult DownloadExcelTemplate([FromQuery] string version)
         {
             string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainerPackaging{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
-            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒鍏崇郴鍩虹琛�).xlsx", Encoding.GetEncoding("UTF-8"));
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒鍏崇郴).xlsx", Encoding.GetEncoding("UTF-8"));
             return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
         }
 
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs
new file mode 100644
index 0000000..a0f8494
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeInput.cs
@@ -0,0 +1,197 @@
+锘縰sing Admin.NET.Core;
+using Admin.NET.Core.Service;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application
+{    
+    
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟
+    /// </summary>
+    public class WmsContainerTypeSearch : PageInputBase
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        public virtual string TypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string TypeName { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍥炴敹
+        /// </summary>
+        public virtual bool? IsAllowReclaim { get; set; }
+        
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public virtual string Unit { get; set; }
+        
+        /// <summary>
+        /// 浣跨敤鏈熼檺
+        /// </summary>
+        public virtual string UsagePeriod { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual List<string> CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual List<string> UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+        /// <summary>
+    /// 瀹瑰櫒绫诲瀷涓嶅垎椤垫煡璇㈠弬鏁�
+    /// </summary>
+    public class WmsContainerTypeSearchNonPage : PageInputNonPageBase
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        public virtual string TypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string TypeName { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍥炴敹
+        /// </summary>
+        public virtual bool? IsAllowReclaim { get; set; }
+        
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public virtual string Unit { get; set; }
+        
+        /// <summary>
+        /// 浣跨敤鏈熼檺
+        /// </summary>
+        public virtual string UsagePeriod { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsContainerTypeInput
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "绫诲瀷缂栧彿涓嶈兘涓虹┖")]
+        public virtual string TypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "绫诲瀷鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string TypeName { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍥炴敹
+        /// </summary>
+        [Required(ErrorMessage = "鏄惁鍥炴敹涓嶈兘涓虹┖")]
+        public virtual bool IsAllowReclaim { get; set; }
+        
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        [Required(ErrorMessage = "鍗曚綅涓嶈兘涓虹┖")]
+        public virtual string Unit { get; set; }
+        
+        /// <summary>
+        /// 浣跨敤鏈熼檺
+        /// </summary>
+        public virtual string UsagePeriod { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷鏂板鍙傛暟
+    /// </summary>
+    public class AddWmsContainerTypeInput : WmsContainerTypeInput
+    {
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷鍒犻櫎鍙傛暟
+    /// </summary>
+    public class DeleteWmsContainerTypeInput : BaseId
+    {
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷鏇存柊鍙傛暟
+    /// </summary>
+    public class UpdateWmsContainerTypeInput : WmsContainerTypeInput
+    {
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
+        public long? Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷鑾峰彇鍗曚釜鍙傛暟
+    /// </summary>
+    public class QueryeWmsContainerTypeInput : BaseId
+    {
+
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs
new file mode 100644
index 0000000..88f863b
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Dto/WmsContainerTypeOutput.cs
@@ -0,0 +1,67 @@
+锘縰sing Admin.NET.Core.Util.LowCode.Dto;
+using System;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷杈撳嚭鍙傛暟
+    /// </summary>
+    public class WmsContainerTypeOutput
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        public string TypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public string TypeName { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍥炴敹
+        /// </summary>
+        public bool IsAllowReclaim { get; set; }
+        
+        /// <summary>
+        /// 鍗曚綅
+        /// </summary>
+        public string Unit { get; set; }
+        
+        /// <summary>
+        /// 浣跨敤鏈熼檺
+        /// </summary>
+        public string UsagePeriod { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        public long? Id { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTimeOffset? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public DateTimeOffset? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public string UpdatedUserName { get; set; }
+        
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs
new file mode 100644
index 0000000..233fe8f
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/IWmsContainerTypeService.cs
@@ -0,0 +1,22 @@
+锘縰sing Admin.NET.Core;
+using Microsoft.AspNetCore.Mvc;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Application
+{
+    public interface IWmsContainerTypeService
+    {
+        Task<WmsContainerTypeOutput> Get([FromQuery] QueryeWmsContainerTypeInput input);
+        Task<List<WmsContainerTypeOutput>> List([FromQuery] WmsContainerTypeInput input);
+        Task<PageResult<WmsContainerTypeOutput>> Page([FromQuery] WmsContainerTypeSearch input);
+        Task<List<WmsContainerTypeOutput>> ListNonPageAsync([FromQuery] WmsContainerTypeSearchNonPage input);
+        
+        Task Add(AddWmsContainerTypeInput input);
+        Task Update(UpdateWmsContainerTypeInput input);
+        Task Delete(DeleteWmsContainerTypeInput input);
+        Task<int> ImportExcelAsync(IFormFile file);
+        IActionResult DownloadExcelTemplate(string version);
+    }
+}
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs
new file mode 100644
index 0000000..5819ed8
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/Map/WmsContainerTypeMapper.cs
@@ -0,0 +1,18 @@
+锘縰sing Mapster;
+using Admin.NET.Core;
+
+namespace Admin.NET.Application
+{
+    public class WmsContainerTypeMapper : IRegister
+    {
+        public void Register(TypeAdapterConfig config)
+        {
+            config.ForType<AddWmsContainerTypeInput, WmsContainerType>()
+            ;
+            config.ForType<UpdateWmsContainerTypeInput, WmsContainerType>()
+            ;
+            config.ForType<WmsContainerType, WmsContainerTypeOutput>()
+            ;
+        }
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs
new file mode 100644
index 0000000..428b322
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsContainerType/WmsContainerTypeService.cs
@@ -0,0 +1,451 @@
+锘縰sing Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor.Extensions;
+using Furion.DependencyInjection;
+using Furion.DynamicApiController;
+using Furion.FriendlyException;
+using Admin.NET.Core;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using System.Linq.Dynamic.Core;
+using Microsoft.AspNetCore.Http;
+using System.Text;
+using System.Web;
+using System.ComponentModel;
+using System.Data;
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 瀹瑰櫒绫诲瀷鏈嶅姟
+    /// </summary>
+    [ApiDescriptionSettings("WmsBase", Name = "WmsContainerType", Order = 100)]
+    [Route("api")]
+    public class WmsContainerTypeService : IWmsContainerTypeService, IDynamicApiController, ITransient
+    {
+        private readonly IRepository<WmsContainerType,MasterDbContextLocator> _wmsContainerTypeRep;
+        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
+        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
+        private readonly ISysExcelTemplateService _sysExcelTemplateService;
+        private readonly static object _lock = new();
+
+        public WmsContainerTypeService(
+            IRepository<WmsContainerType,MasterDbContextLocator> wmsContainerTypeRep
+            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
+            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
+            ,ISysExcelTemplateService sysExcelTemplateService
+        )
+        {
+            _wmsContainerTypeRep = wmsContainerTypeRep;
+         _sysDictTypeRep = sysDictTypeRep;
+         _sysDictDataRep = sysDictDataRep;
+         _sysExcelTemplateService = sysExcelTemplateService;
+        }
+
+        /// <summary>
+        /// 鍒嗛〉鏌ヨ瀹瑰櫒绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsContainerType/page")]
+        public async Task<PageResult<WmsContainerTypeOutput>> Page([FromQuery] WmsContainerTypeSearch input)
+        {
+            var wmsContainerTypes = await _wmsContainerTypeRep.DetachedEntities
+                                     .Where(!string.IsNullOrEmpty(input.TypeCode), u => u.TypeCode == input.TypeCode)
+                                     .Where(!string.IsNullOrEmpty(input.TypeName), u => u.TypeName == input.TypeName)
+                                     .Where(input.IsAllowReclaim != null, u => u.IsAllowReclaim == input.IsAllowReclaim)
+                                     .Where(!string.IsNullOrEmpty(input.Unit), u => u.Unit == input.Unit)
+                                     .Where(!string.IsNullOrEmpty(input.UsagePeriod), u => u.UsagePeriod == input.UsagePeriod)
+                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
+                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
+                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
+                                     .OrderBy(PageInputOrder.OrderBuilder<WmsContainerTypeSearch>(input))
+                                     .ProjectToType<WmsContainerTypeOutput>()
+                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
+            return wmsContainerTypes;
+        }
+
+        /// <summary>
+        /// 涓嶅垎椤垫煡璇㈠鍣ㄧ被鍨嬪垪琛�
+        /// </summary>
+        /// <param name="input">瀹瑰櫒绫诲瀷鏌ヨ鍙傛暟</param>
+        /// <returns>(瀹瑰櫒绫诲瀷)瀹炰緥鍒楄〃</returns>
+        [HttpGet("WmsContainerType/listNonPage")]
+        public async Task<List<WmsContainerTypeOutput>> ListNonPageAsync([FromQuery] WmsContainerTypeSearchNonPage input)
+        {
+            var pTypeCode = input.TypeCode?.Trim() ?? "";
+            var pTypeName = input.TypeName?.Trim() ?? "";
+            var pIsAllowReclaim = input.IsAllowReclaim;
+            var pUnit = input.Unit?.Trim() ?? "";
+            var pUsagePeriod = input.UsagePeriod?.Trim() ?? "";
+            var pIsDisabled = input.IsDisabled;
+            var pCreatedTime = input.CreatedTime;
+            var pUpdatedTime = input.UpdatedTime;
+            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
+            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
+            var wmsContainerTypes = await _wmsContainerTypeRep.DetachedEntities
+                .Where(!string.IsNullOrEmpty(pTypeCode), u => u.TypeCode == pTypeCode)
+                .Where(!string.IsNullOrEmpty(pTypeName), u => u.TypeName == pTypeName)
+                .Where(pIsAllowReclaim != null, u => u.IsAllowReclaim == pIsAllowReclaim)
+                .Where(!string.IsNullOrEmpty(pUnit), u => u.Unit == pUnit)
+                .Where(!string.IsNullOrEmpty(pUsagePeriod), u => u.UsagePeriod == pUsagePeriod)
+                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
+           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
+                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
+            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
+            .ProjectToType<WmsContainerTypeOutput>()
+            .ToListAsync();
+            return wmsContainerTypes;
+        }
+
+         /// <summary>
+        /// 鑾峰彇瀹瑰櫒绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsContainerType/detail")]
+        public async Task<WmsContainerTypeOutput> Get([FromQuery] QueryeWmsContainerTypeInput input)
+        {
+            return (await _wmsContainerTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsContainerTypeOutput>();
+        }
+
+        /// <summary>
+        /// 鑾峰彇瀹瑰櫒绫诲瀷鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsContainerType/list")]
+        public async Task<List<WmsContainerTypeOutput>> List([FromQuery] WmsContainerTypeInput input)
+        {
+            return await _wmsContainerTypeRep.DetachedEntities.ProjectToType<WmsContainerTypeOutput>().ToListAsync();
+        }    
+
+        #region 澧炪�佸垹銆佹敼
+
+        /// <summary>
+        /// 澧炲姞瀹瑰櫒绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsContainerType/add")]
+        public async Task Add(AddWmsContainerTypeInput input)
+        {
+            var wmsContainerType = input.Adapt<WmsContainerType>();
+                        //楠岃瘉
+            await CheckExisit(wmsContainerType);
+
+            wmsContainerType.CreatedUserId = wmsContainerType.UpdatedUserId = SysHelper.GetUserId();
+            wmsContainerType.CreatedUserName = wmsContainerType.UpdatedUserName = SysHelper.GetUserName();
+            wmsContainerType.CreatedTime = wmsContainerType.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsContainerTypeRep.InsertAsync(wmsContainerType);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎瀹瑰櫒绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsContainerType/delete")]
+        public async Task Delete(DeleteWmsContainerTypeInput input)
+        {
+            var wmsContainerType = await _wmsContainerTypeRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+            await _wmsContainerTypeRep.DeleteAsync(wmsContainerType);
+            
+        }
+
+        /// <summary>
+        /// 鏇存柊瀹瑰櫒绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsContainerType/edit")]
+        public async Task Update(UpdateWmsContainerTypeInput input)
+        {
+            var isExist = await _wmsContainerTypeRep.AnyAsync(u => u.Id == input.Id, false);
+            if (!isExist) throw Oops.Oh(ErrorCode.D1002);
+
+            var wmsContainerType = input.Adapt<WmsContainerType>();
+            //楠岃瘉
+            await CheckExisit(wmsContainerType,true);
+
+            wmsContainerType.UpdatedUserId = SysHelper.GetUserId();
+            wmsContainerType.UpdatedUserName = SysHelper.GetUserName();
+            wmsContainerType.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsContainerTypeRep.UpdateAsync(wmsContainerType,ignoreNullValues:true);
+        }
+
+        #endregion
+
+        #region 瀵煎叆
+
+        /// <summary>
+        /// Excel妯℃澘瀵煎叆瀹瑰櫒绫诲瀷鍔熻兘
+        /// </summary>
+        /// <param name="file">Excel妯℃澘鏂囦欢</param>
+        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+        [HttpPost("WmsContainerType/importExcel")]
+        public async Task<int> ImportExcelAsync(IFormFile file)
+        { 
+            int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+            int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+
+            DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+            var addList =await CommonImport(importDataTable, _DataStartLine);
+
+            lock (_lock)
+            {
+                _wmsContainerTypeRep.InsertAsync(addList);
+               
+            }
+            await Task.CompletedTask;
+            return addList.Count;
+        }
+
+        /// <summary>
+        ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+        /// </summary>
+        /// <param name="dataTable"></param>
+        /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+        /// <returns></returns>
+        private async Task<List<WmsContainerType>> CommonImport(DataTable dataTable, int dataStartLine)
+        {
+
+            var details = new List<WmsContainerType>();
+            int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+            foreach (System.Data.DataRow row in dataTable.Rows)
+            {
+                index++;
+
+               //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                          
+                           var addItem = new WmsContainerType()
+                            {
+                               CreatedTime = SysHelper.GetNowTime(),
+                               CreatedUserId = SysHelper.GetUserId(),
+                               CreatedUserName = SysHelper.GetUserName(),
+                               UpdatedTime = SysHelper.GetNowTime(),
+                               UpdatedUserId = SysHelper.GetUserId(),
+                               UpdatedUserName = SysHelper.GetUserName()
+                             };
+                          #region 瀹氫箟鍙橀噺
+                           var _TypeCode = "";//绫诲瀷缂栧彿
+                           var _TypeName = "";//绫诲瀷鍚嶇О
+                           var _IsAllowReclaim = "";//鏄惁鍥炴敹
+                           var _Unit = "";//鍗曚綅
+                           var _UsagePeriod = "";//浣跨敤鏈熼檺
+                           var _IsDisabled = "";//鏄惁绂佺敤
+                           var _Id = "";//Id涓婚敭
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _TypeCode = row["绫诲瀷缂栧彿"]?.ToString() ;
+                           _TypeName = row["绫诲瀷鍚嶇О"]?.ToString() ;
+                           _IsAllowReclaim = row["鏄惁鍥炴敹"]?.ToString() ;
+                           _Unit = row["鍗曚綅"]?.ToString() ;
+                           _UsagePeriod = row["浣跨敤鏈熼檺"]?.ToString() ;
+                           _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ;
+                           _Id = row["Id涓婚敭"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_TypeCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾绫诲瀷缂栧彿]{_TypeCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_TypeCode))
+                          {
+                                addItem.TypeCode = (string)_TypeCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_TypeName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾绫诲瀷鍚嶇О]{_TypeName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_TypeName))
+                          {
+                                addItem.TypeName = (string)_TypeName;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_IsAllowReclaim))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鏄惁鍥炴敹]{_IsAllowReclaim}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_IsAllowReclaim))
+                          {
+                            if(!_IsAllowReclaim.Equals("鏄�") && !_IsAllowReclaim.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁鍥炴敹]{_IsAllowReclaim}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsAllowReclaim = _IsAllowReclaim.Equals("鏄�") ? true : false;
+                               addItem.IsAllowReclaim = outIsAllowReclaim;
+                             }
+                             }
+                          
+                          
+                          if (string.IsNullOrEmpty(_Unit))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍗曚綅]{_Unit}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_Unit))
+                          {
+                                addItem.Unit = (string)_Unit;
+                           }
+                          if(!string.IsNullOrEmpty(_UsagePeriod))
+                          {
+                                addItem.UsagePeriod = (string)_UsagePeriod;
+                           }
+                          if(!string.IsNullOrEmpty(_IsDisabled))
+                          {
+                            if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false;
+                               addItem.IsDisabled = outIsDisabled;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_Id))
+                          {
+                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�");
+                              }
+                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Id = outId;
+                              }
+                          
+                          }
+                          #endregion
+                          
+
+              
+                details.Add(addItem);
+            }
+              //楠岄噸
+              await CheckExisitForImport(details);
+            
+            return details;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒绫诲瀷鐨凟xcel瀵煎叆妯℃澘
+        /// </summary>
+        /// <param name="version">妯℃澘鐗堟湰</param>
+        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        [HttpGet("WmsContainerType/downloadExcelTemplate")]
+        public IActionResult DownloadExcelTemplate([FromQuery] string version)
+        {
+            string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsContainerType{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(瀹瑰櫒绫诲瀷).xlsx", Encoding.GetEncoding("UTF-8"));
+            return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+        }
+
+        #endregion
+
+        #region 绉佹湁鏂规硶
+
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="isEdit"></param>
+        /// <returns></returns>
+        private async Task CheckExisit( WmsContainerType input,bool isEdit=false)
+        {
+           
+
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _wmsContainerTypeRep.AnyAsync(u =>
+                                   u.TypeCode.Equals(input.TypeCode)
+                   ,false);
+          }
+           else//缂栬緫 
+          {
+
+          
+                
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _wmsContainerTypeRep.AnyAsync(u => 
+                                    u.Id != input.Id
+                                    &&u.TypeCode.Equals(input.TypeCode)
+                    ,false);
+               }
+               
+        
+
+            if (isExist) throw Oops.Oh(ErrorCode.E0001);
+       }
+        
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsContainerType> inputs)
+        { 
+            //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 if (inputs?.Count <= 0)
+                 {
+                     throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+                 }
+                 //鏁版嵁鏄惁閲嶅
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.TypeCode
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.TypeCode
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var wmsContainerType = existExcelItem.Adapt<WmsContainerType>();
+                   var item= existExcelItem.Adapt<WmsContainerType>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,绫诲瀷缂栧彿[{item.TypeCode}]宸插瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _wmsContainerTypeRep.DetachedEntities.FirstOrDefaultAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.TypeCode
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.TypeCode
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var wmsContainerType = existExcelItem.Adapt<WmsContainerType>();
+                   var item= existExcelItem.Adapt<WmsContainerType>();
+                   throw Oops.Oh($"绯荤粺涓�,绫诲瀷缂栧彿[{item.TypeCode}]宸插瓨鍦�");
+                 }
+        }
+
+        #endregion
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs
index 8d753ba..abd97e6 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryInput.cs
@@ -6,7 +6,7 @@
 {    
     
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�
+    /// 宸ュ巶淇℃伅鏌ヨ鍙傛暟
     /// </summary>
     public class WmsFactorySearch : PageInputBase
     {
@@ -53,7 +53,7 @@
     }
 
         /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+    /// 宸ュ巶淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
     /// </summary>
     public class WmsFactorySearchNonPage : PageInputNonPageBase
     {
@@ -100,7 +100,7 @@
     }
 
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄨ緭鍏ュ弬鏁�
+    /// 宸ュ巶淇℃伅杈撳叆鍙傛暟
     /// </summary>
     public class WmsFactoryInput
     {
@@ -129,21 +129,21 @@
     }
 
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄦ柊澧炲弬鏁�
+    /// 宸ュ巶淇℃伅鏂板鍙傛暟
     /// </summary>
     public class AddWmsFactoryInput : WmsFactoryInput
     {
     }
 
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄥ垹闄ゅ弬鏁�
+    /// 宸ュ巶淇℃伅鍒犻櫎鍙傛暟
     /// </summary>
     public class DeleteWmsFactoryInput : BaseId
     {
     }
 
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄦ洿鏂板弬鏁�
+    /// 宸ュ巶淇℃伅鏇存柊鍙傛暟
     /// </summary>
     public class UpdateWmsFactoryInput : WmsFactoryInput
     {
@@ -156,7 +156,7 @@
     }
 
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄨ幏鍙栧崟涓弬鏁�
+    /// 宸ュ巶淇℃伅鑾峰彇鍗曚釜鍙傛暟
     /// </summary>
     public class QueryeWmsFactoryInput : BaseId
     {
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs
index 80c0b11..b8c7886 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/Dto/WmsFactoryOutput.cs
@@ -4,7 +4,7 @@
 namespace Admin.NET.Application
 {
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄨ緭鍑哄弬鏁�
+    /// 宸ュ巶淇℃伅杈撳嚭鍙傛暟
     /// </summary>
     public class WmsFactoryOutput
     {
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs
index 5a5328b..5fd8bd7 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsFactory/WmsFactoryService.cs
@@ -16,7 +16,7 @@
 namespace Admin.NET.Application
 {
     /// <summary>
-    /// 宸ュ巶淇℃伅琛ㄦ湇鍔�
+    /// 宸ュ巶淇℃伅鏈嶅姟
     /// </summary>
     [ApiDescriptionSettings("WmsBase", Name = "WmsFactory", Order = 100)]
     [Route("api")]
@@ -42,7 +42,7 @@
         }
 
         /// <summary>
-        /// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅琛�
+        /// 鍒嗛〉鏌ヨ宸ュ巶淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -65,10 +65,10 @@
         }
 
         /// <summary>
-        /// 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭〃鍒楄〃
+        /// 涓嶅垎椤垫煡璇㈠伐鍘備俊鎭垪琛�
         /// </summary>
-        /// <param name="input">宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�</param>
-        /// <returns>(宸ュ巶淇℃伅琛�)瀹炰緥鍒楄〃</returns>
+        /// <param name="input">宸ュ巶淇℃伅鏌ヨ鍙傛暟</param>
+        /// <returns>(宸ュ巶淇℃伅)瀹炰緥鍒楄〃</returns>
         [HttpGet("WmsFactory/listNonPage")]
         public async Task<List<WmsFactoryOutput>> ListNonPageAsync([FromQuery] WmsFactorySearchNonPage input)
         {
@@ -96,7 +96,7 @@
         }
 
          /// <summary>
-        /// 鑾峰彇宸ュ巶淇℃伅琛�
+        /// 鑾峰彇宸ュ巶淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -107,7 +107,7 @@
         }
 
         /// <summary>
-        /// 鑾峰彇宸ュ巶淇℃伅琛ㄥ垪琛�
+        /// 鑾峰彇宸ュ巶淇℃伅鍒楄〃
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -120,7 +120,7 @@
         #region 澧炪�佸垹銆佹敼
 
         /// <summary>
-        /// 澧炲姞宸ュ巶淇℃伅琛�
+        /// 澧炲姞宸ュ巶淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -138,7 +138,7 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎宸ュ巶淇℃伅琛�
+        /// 鍒犻櫎宸ュ巶淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -151,7 +151,7 @@
         }
 
         /// <summary>
-        /// 鏇存柊宸ュ巶淇℃伅琛�
+        /// 鏇存柊宸ュ巶淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -176,7 +176,7 @@
         #region 瀵煎叆
 
         /// <summary>
-        /// Excel妯℃澘瀵煎叆宸ュ巶淇℃伅琛ㄥ姛鑳�
+        /// Excel妯℃澘瀵煎叆宸ュ巶淇℃伅鍔熻兘
         /// </summary>
         /// <param name="file">Excel妯℃澘鏂囦欢</param>
         /// <returns>瀵煎叆鐨勮褰曟暟</returns>
@@ -309,7 +309,7 @@
         }
 
         /// <summary>
-        /// 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅琛ㄧ殑Excel瀵煎叆妯℃澘
+        /// 鏍规嵁鐗堟湰涓嬭浇宸ュ巶淇℃伅鐨凟xcel瀵煎叆妯℃澘
         /// </summary>
         /// <param name="version">妯℃澘鐗堟湰</param>
         /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
@@ -317,7 +317,7 @@
         public IActionResult DownloadExcelTemplate([FromQuery] string version)
         {
             string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsFactory{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
-            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(宸ュ巶淇℃伅琛�).xlsx", Encoding.GetEncoding("UTF-8"));
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(宸ュ巶淇℃伅).xlsx", Encoding.GetEncoding("UTF-8"));
             return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
         }
 
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs
new file mode 100644
index 0000000..e83f6f4
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceInput.cs
@@ -0,0 +1,646 @@
+锘縰sing Admin.NET.Core;
+using Admin.NET.Core.Service;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application
+{    
+    
+    /// <summary>
+    /// 搴撲綅淇℃伅鏌ヨ鍙傛暟
+    /// </summary>
+    public class WmsPlaceSearch : PageInputBase
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        public virtual string PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        public virtual string PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍒悕
+        /// </summary>
+        public virtual string PlaceAlias { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        public virtual int? PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string PlaceTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀛樻斁鍗曚綅
+        /// </summary>
+        public virtual string StockUnit { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        public virtual int? PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍫嗗灈鏈哄簱浣�
+        /// </summary>
+        public virtual bool? IsSrmPlace { get; set; }
+        
+        /// <summary>
+        /// 鍫嗗灈鏈哄簱浣嶅彿
+        /// </summary>
+        public virtual string SrmPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁RGV搴撲綅
+        /// </summary>
+        public virtual bool? IsRgvPlace { get; set; }
+        
+        /// <summary>
+        /// RGV搴撲綅鍙�
+        /// </summary>
+        public virtual string RgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁AGV搴撲綅
+        /// </summary>
+        public virtual bool? IsAgvPlace { get; set; }
+        
+        /// <summary>
+        /// AGV搴撲綅鍙�
+        /// </summary>
+        public virtual string AgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁杈撻�佺嚎搴撲綅
+        /// </summary>
+        public virtual bool? IsTransPlace { get; set; }
+        
+        /// <summary>
+        /// 杈撻�佺嚎搴撲綅鍙�
+        /// </summary>
+        public virtual string TransPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁婵�娲讳笌浠诲姟璋冨害
+        /// </summary>
+        public virtual bool? IsActivateWCS { get; set; }
+        
+        /// <summary>
+        /// 搴撳瓨鐜
+        /// </summary>
+        public virtual string Environment { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        public virtual long? AreaId { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 妫�楠岀爜
+        /// </summary>
+        public virtual string VerificationCode { get; set; }
+        
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        public virtual int? RowNo { get; set; }
+        
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        public virtual int? ColumnNo { get; set; }
+        
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        public virtual int? LayerNo { get; set; }
+        
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public virtual int? LaneNo { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅X鍧愭爣
+        /// </summary>
+        public virtual string Xzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Y鍧愭爣
+        /// </summary>
+        public virtual string Yzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Z鍧愭爣
+        /// </summary>
+        public virtual string Zzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        public virtual decimal? Length { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        public virtual decimal? Width { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        public virtual decimal? Height { get; set; }
+        
+        /// <summary>
+        /// 鏈�澶ф壙閲�
+        /// </summary>
+        public virtual decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ簱椤哄簭
+        /// </summary>
+        public virtual int? InSequence { get; set; }
+        
+        /// <summary>
+        /// 鍑哄簱椤哄簭
+        /// </summary>
+        public virtual int? OutSequence { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual List<string> CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual List<string> UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+        /// <summary>
+    /// 搴撲綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+    /// </summary>
+    public class WmsPlaceSearchNonPage : PageInputNonPageBase
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        public virtual string PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        public virtual string PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍒悕
+        /// </summary>
+        public virtual string PlaceAlias { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        public virtual int? PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string PlaceTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀛樻斁鍗曚綅
+        /// </summary>
+        public virtual string StockUnit { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        public virtual int? PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍫嗗灈鏈哄簱浣�
+        /// </summary>
+        public virtual bool? IsSrmPlace { get; set; }
+        
+        /// <summary>
+        /// 鍫嗗灈鏈哄簱浣嶅彿
+        /// </summary>
+        public virtual string SrmPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁RGV搴撲綅
+        /// </summary>
+        public virtual bool? IsRgvPlace { get; set; }
+        
+        /// <summary>
+        /// RGV搴撲綅鍙�
+        /// </summary>
+        public virtual string RgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁AGV搴撲綅
+        /// </summary>
+        public virtual bool? IsAgvPlace { get; set; }
+        
+        /// <summary>
+        /// AGV搴撲綅鍙�
+        /// </summary>
+        public virtual string AgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁杈撻�佺嚎搴撲綅
+        /// </summary>
+        public virtual bool? IsTransPlace { get; set; }
+        
+        /// <summary>
+        /// 杈撻�佺嚎搴撲綅鍙�
+        /// </summary>
+        public virtual string TransPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁婵�娲讳笌浠诲姟璋冨害
+        /// </summary>
+        public virtual bool? IsActivateWCS { get; set; }
+        
+        /// <summary>
+        /// 搴撳瓨鐜
+        /// </summary>
+        public virtual string Environment { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        public virtual long? AreaId { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 妫�楠岀爜
+        /// </summary>
+        public virtual string VerificationCode { get; set; }
+        
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        public virtual int? RowNo { get; set; }
+        
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        public virtual int? ColumnNo { get; set; }
+        
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        public virtual int? LayerNo { get; set; }
+        
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public virtual int? LaneNo { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅X鍧愭爣
+        /// </summary>
+        public virtual string Xzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Y鍧愭爣
+        /// </summary>
+        public virtual string Yzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Z鍧愭爣
+        /// </summary>
+        public virtual string Zzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        public virtual decimal? Length { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        public virtual decimal? Width { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        public virtual decimal? Height { get; set; }
+        
+        /// <summary>
+        /// 鏈�澶ф壙閲�
+        /// </summary>
+        public virtual decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ簱椤哄簭
+        /// </summary>
+        public virtual int? InSequence { get; set; }
+        
+        /// <summary>
+        /// 鍑哄簱椤哄簭
+        /// </summary>
+        public virtual int? OutSequence { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsPlaceInput
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅缂栫爜涓嶈兘涓虹┖")]
+        public virtual string PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍒悕
+        /// </summary>
+        public virtual string PlaceAlias { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        [Required(ErrorMessage = "搴撲綅绫诲瀷涓嶈兘涓虹┖")]
+        public virtual int PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string PlaceTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀛樻斁鍗曚綅
+        /// </summary>
+        public virtual string StockUnit { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        public virtual int? PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍫嗗灈鏈哄簱浣�
+        /// </summary>
+        public virtual bool? IsSrmPlace { get; set; }
+        
+        /// <summary>
+        /// 鍫嗗灈鏈哄簱浣嶅彿
+        /// </summary>
+        public virtual string SrmPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁RGV搴撲綅
+        /// </summary>
+        public virtual bool? IsRgvPlace { get; set; }
+        
+        /// <summary>
+        /// RGV搴撲綅鍙�
+        /// </summary>
+        public virtual string RgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁AGV搴撲綅
+        /// </summary>
+        public virtual bool? IsAgvPlace { get; set; }
+        
+        /// <summary>
+        /// AGV搴撲綅鍙�
+        /// </summary>
+        public virtual string AgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁杈撻�佺嚎搴撲綅
+        /// </summary>
+        public virtual bool? IsTransPlace { get; set; }
+        
+        /// <summary>
+        /// 杈撻�佺嚎搴撲綅鍙�
+        /// </summary>
+        public virtual string TransPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁婵�娲讳笌浠诲姟璋冨害
+        /// </summary>
+        public virtual bool? IsActivateWCS { get; set; }
+        
+        /// <summary>
+        /// 搴撳瓨鐜
+        /// </summary>
+        public virtual string Environment { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        public virtual string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        public virtual long? AreaId { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public virtual string AreaName { get; set; }
+        
+        /// <summary>
+        /// 妫�楠岀爜
+        /// </summary>
+        public virtual string VerificationCode { get; set; }
+        
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        public virtual int? RowNo { get; set; }
+        
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        public virtual int? ColumnNo { get; set; }
+        
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        public virtual int? LayerNo { get; set; }
+        
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public virtual int? LaneNo { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅X鍧愭爣
+        /// </summary>
+        public virtual string Xzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Y鍧愭爣
+        /// </summary>
+        public virtual string Yzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Z鍧愭爣
+        /// </summary>
+        public virtual string Zzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        public virtual decimal? Length { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        public virtual decimal? Width { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        public virtual decimal? Height { get; set; }
+        
+        /// <summary>
+        /// 鏈�澶ф壙閲�
+        /// </summary>
+        public virtual decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ簱椤哄簭
+        /// </summary>
+        public virtual int? InSequence { get; set; }
+        
+        /// <summary>
+        /// 鍑哄簱椤哄簭
+        /// </summary>
+        public virtual int? OutSequence { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public virtual bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鏂板鍙傛暟
+    /// </summary>
+    public class AddWmsPlaceInput : WmsPlaceInput
+    {
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鍒犻櫎鍙傛暟
+    /// </summary>
+    public class DeleteWmsPlaceInput : BaseId
+    {
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鏇存柊鍙傛暟
+    /// </summary>
+    public class UpdateWmsPlaceInput : WmsPlaceInput
+    {
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
+        public long? Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 搴撲綅淇℃伅鑾峰彇鍗曚釜鍙傛暟
+    /// </summary>
+    public class QueryeWmsPlaceInput : BaseId
+    {
+
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs
new file mode 100644
index 0000000..594b4aa
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Dto/WmsPlaceOutput.cs
@@ -0,0 +1,217 @@
+锘縰sing Admin.NET.Core.Util.LowCode.Dto;
+using System;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 搴撲綅淇℃伅杈撳嚭鍙傛暟
+    /// </summary>
+    public class WmsPlaceOutput
+    {
+        /// <summary>
+        /// 搴撲綅缂栫爜
+        /// </summary>
+        public string PlaceCode { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍚嶇О
+        /// </summary>
+        public string PlaceName { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅鍒悕
+        /// </summary>
+        public string PlaceAlias { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷
+        /// </summary>
+        public int PlaceType { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅绫诲瀷鍚嶇О
+        /// </summary>
+        public string PlaceTypeName { get; set; }
+        
+        /// <summary>
+        /// 瀛樻斁鍗曚綅
+        /// </summary>
+        public string StockUnit { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅灞炴��
+        /// </summary>
+        public int? PlaceStatus { get; set; }
+        
+        /// <summary>
+        /// 鏄惁鍫嗗灈鏈哄簱浣�
+        /// </summary>
+        public bool? IsSrmPlace { get; set; }
+        
+        /// <summary>
+        /// 鍫嗗灈鏈哄簱浣嶅彿
+        /// </summary>
+        public string SrmPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁RGV搴撲綅
+        /// </summary>
+        public bool? IsRgvPlace { get; set; }
+        
+        /// <summary>
+        /// RGV搴撲綅鍙�
+        /// </summary>
+        public string RgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁AGV搴撲綅
+        /// </summary>
+        public bool? IsAgvPlace { get; set; }
+        
+        /// <summary>
+        /// AGV搴撲綅鍙�
+        /// </summary>
+        public string AgvPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁杈撻�佺嚎搴撲綅
+        /// </summary>
+        public bool? IsTransPlace { get; set; }
+        
+        /// <summary>
+        /// 杈撻�佺嚎搴撲綅鍙�
+        /// </summary>
+        public string TransPlaceNo { get; set; }
+        
+        /// <summary>
+        /// 鏄惁婵�娲讳笌浠诲姟璋冨害
+        /// </summary>
+        public bool? IsActivateWCS { get; set; }
+        
+        /// <summary>
+        /// 搴撳瓨鐜
+        /// </summary>
+        public string Environment { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯缂栧彿
+        /// </summary>
+        public string AreaCode { get; set; }
+        
+        /// <summary>
+        /// 鎵�鍦ㄥ簱鍖�
+        /// </summary>
+        public long? AreaId { get; set; }
+        
+        /// <summary>
+        /// 搴撳尯鍚嶇О
+        /// </summary>
+        public string AreaName { get; set; }
+        
+        /// <summary>
+        /// 妫�楠岀爜
+        /// </summary>
+        public string VerificationCode { get; set; }
+        
+        /// <summary>
+        /// 鎺�
+        /// </summary>
+        public int? RowNo { get; set; }
+        
+        /// <summary>
+        /// 鍒�
+        /// </summary>
+        public int? ColumnNo { get; set; }
+        
+        /// <summary>
+        /// 灞�
+        /// </summary>
+        public int? LayerNo { get; set; }
+        
+        /// <summary>
+        /// 宸烽亾
+        /// </summary>
+        public int? LaneNo { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅X鍧愭爣
+        /// </summary>
+        public string Xzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Y鍧愭爣
+        /// </summary>
+        public string Yzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅Z鍧愭爣
+        /// </summary>
+        public string Zzb { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅闀垮害
+        /// </summary>
+        public decimal? Length { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅瀹藉害
+        /// </summary>
+        public decimal? Width { get; set; }
+        
+        /// <summary>
+        /// 搴撲綅楂樺害
+        /// </summary>
+        public decimal? Height { get; set; }
+        
+        /// <summary>
+        /// 鏈�澶ф壙閲�
+        /// </summary>
+        public decimal? MaxWeight { get; set; }
+        
+        /// <summary>
+        /// 鍏ュ簱椤哄簭
+        /// </summary>
+        public int? InSequence { get; set; }
+        
+        /// <summary>
+        /// 鍑哄簱椤哄簭
+        /// </summary>
+        public int? OutSequence { get; set; }
+        
+        /// <summary>
+        /// 鏄惁铏氭嫙
+        /// </summary>
+        public bool? IsVirtually { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        public long? Id { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTimeOffset? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public DateTimeOffset? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public string UpdatedUserName { get; set; }
+        
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs
new file mode 100644
index 0000000..562f290
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/IWmsPlaceService.cs
@@ -0,0 +1,22 @@
+锘縰sing Admin.NET.Core;
+using Microsoft.AspNetCore.Mvc;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Application
+{
+    public interface IWmsPlaceService
+    {
+        Task<WmsPlaceOutput> Get([FromQuery] QueryeWmsPlaceInput input);
+        Task<List<WmsPlaceOutput>> List([FromQuery] WmsPlaceInput input);
+        Task<PageResult<WmsPlaceOutput>> Page([FromQuery] WmsPlaceSearch input);
+        Task<List<WmsPlaceOutput>> ListNonPageAsync([FromQuery] WmsPlaceSearchNonPage input);
+        
+        Task Add(AddWmsPlaceInput input);
+        Task Update(UpdateWmsPlaceInput input);
+        Task Delete(DeleteWmsPlaceInput input);
+        Task<int> ImportExcelAsync(IFormFile file);
+        IActionResult DownloadExcelTemplate(string version);
+    }
+}
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs
new file mode 100644
index 0000000..00f7056
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/Map/WmsPlaceMapper.cs
@@ -0,0 +1,18 @@
+锘縰sing Mapster;
+using Admin.NET.Core;
+
+namespace Admin.NET.Application
+{
+    public class WmsPlaceMapper : IRegister
+    {
+        public void Register(TypeAdapterConfig config)
+        {
+            config.ForType<AddWmsPlaceInput, WmsPlace>()
+            ;
+            config.ForType<UpdateWmsPlaceInput, WmsPlace>()
+            ;
+            config.ForType<WmsPlace, WmsPlaceOutput>()
+            ;
+        }
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs
new file mode 100644
index 0000000..5d775ee
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsPlace/WmsPlaceService.cs
@@ -0,0 +1,916 @@
+锘縰sing Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor.Extensions;
+using Furion.DependencyInjection;
+using Furion.DynamicApiController;
+using Furion.FriendlyException;
+using Admin.NET.Core;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using System.Linq.Dynamic.Core;
+using Microsoft.AspNetCore.Http;
+using System.Text;
+using System.Web;
+using System.ComponentModel;
+using System.Data;
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 搴撲綅淇℃伅鏈嶅姟
+    /// </summary>
+    [ApiDescriptionSettings("WmsBase", Name = "WmsPlace", Order = 100)]
+    [Route("api")]
+    public class WmsPlaceService : IWmsPlaceService, IDynamicApiController, ITransient
+    {
+        private readonly IRepository<WmsPlace,MasterDbContextLocator> _wmsPlaceRep;
+        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
+        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
+        private readonly ISysExcelTemplateService _sysExcelTemplateService;
+        private readonly static object _lock = new();
+
+        public WmsPlaceService(
+            IRepository<WmsPlace,MasterDbContextLocator> wmsPlaceRep
+            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
+            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
+            ,ISysExcelTemplateService sysExcelTemplateService
+        )
+        {
+            _wmsPlaceRep = wmsPlaceRep;
+         _sysDictTypeRep = sysDictTypeRep;
+         _sysDictDataRep = sysDictDataRep;
+         _sysExcelTemplateService = sysExcelTemplateService;
+        }
+
+        /// <summary>
+        /// 鍒嗛〉鏌ヨ搴撲綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsPlace/page")]
+        public async Task<PageResult<WmsPlaceOutput>> Page([FromQuery] WmsPlaceSearch input)
+        {
+            var wmsPlaces = await _wmsPlaceRep.DetachedEntities
+                                     .Where(!string.IsNullOrEmpty(input.PlaceCode), u => u.PlaceCode == input.PlaceCode)
+                                     .Where(!string.IsNullOrEmpty(input.PlaceName), u => u.PlaceName == input.PlaceName)
+                                     .Where(!string.IsNullOrEmpty(input.PlaceAlias), u => u.PlaceAlias == input.PlaceAlias)
+                                     .Where(input.PlaceType != null, u => u.PlaceType == input.PlaceType)
+                                     .Where(!string.IsNullOrEmpty(input.PlaceTypeName), u => u.PlaceTypeName == input.PlaceTypeName)
+                                     .Where(!string.IsNullOrEmpty(input.StockUnit), u => u.StockUnit == input.StockUnit)
+                                     .Where(input.PlaceStatus != null, u => u.PlaceStatus == input.PlaceStatus)
+                                     .Where(input.IsSrmPlace != null, u => u.IsSrmPlace == input.IsSrmPlace)
+                                     .Where(!string.IsNullOrEmpty(input.SrmPlaceNo), u => u.SrmPlaceNo == input.SrmPlaceNo)
+                                     .Where(input.IsRgvPlace != null, u => u.IsRgvPlace == input.IsRgvPlace)
+                                     .Where(!string.IsNullOrEmpty(input.RgvPlaceNo), u => u.RgvPlaceNo == input.RgvPlaceNo)
+                                     .Where(input.IsAgvPlace != null, u => u.IsAgvPlace == input.IsAgvPlace)
+                                     .Where(!string.IsNullOrEmpty(input.AgvPlaceNo), u => u.AgvPlaceNo == input.AgvPlaceNo)
+                                     .Where(input.IsTransPlace != null, u => u.IsTransPlace == input.IsTransPlace)
+                                     .Where(!string.IsNullOrEmpty(input.TransPlaceNo), u => u.TransPlaceNo == input.TransPlaceNo)
+                                     .Where(input.IsActivateWCS != null, u => u.IsActivateWCS == input.IsActivateWCS)
+                                     .Where(!string.IsNullOrEmpty(input.Environment), u => u.Environment == input.Environment)
+                                     .Where(!string.IsNullOrEmpty(input.AreaCode), u => u.AreaCode == input.AreaCode)
+                                     .Where(input.AreaId != null, u => u.AreaId == input.AreaId)
+                                     .Where(!string.IsNullOrEmpty(input.AreaName), u => u.AreaName == input.AreaName)
+                                     .Where(!string.IsNullOrEmpty(input.VerificationCode), u => u.VerificationCode == input.VerificationCode)
+                                     .Where(input.RowNo != null, u => u.RowNo == input.RowNo)
+                                     .Where(input.ColumnNo != null, u => u.ColumnNo == input.ColumnNo)
+                                     .Where(input.LayerNo != null, u => u.LayerNo == input.LayerNo)
+                                     .Where(input.LaneNo != null, u => u.LaneNo == input.LaneNo)
+                                     .Where(!string.IsNullOrEmpty(input.Xzb), u => u.Xzb == input.Xzb)
+                                     .Where(!string.IsNullOrEmpty(input.Yzb), u => u.Yzb == input.Yzb)
+                                     .Where(!string.IsNullOrEmpty(input.Zzb), u => u.Zzb == input.Zzb)
+                                     .Where(input.Length != null, u => u.Length == input.Length)
+                                     .Where(input.Width != null, u => u.Width == input.Width)
+                                     .Where(input.Height != null, u => u.Height == input.Height)
+                                     .Where(input.MaxWeight != null, u => u.MaxWeight == input.MaxWeight)
+                                     .Where(input.InSequence != null, u => u.InSequence == input.InSequence)
+                                     .Where(input.OutSequence != null, u => u.OutSequence == input.OutSequence)
+                                     .Where(input.IsVirtually != null, u => u.IsVirtually == input.IsVirtually)
+                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
+                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
+                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
+                                     .OrderBy(PageInputOrder.OrderBuilder<WmsPlaceSearch>(input))
+                                     .ProjectToType<WmsPlaceOutput>()
+                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
+            return wmsPlaces;
+        }
+
+        /// <summary>
+        /// 涓嶅垎椤垫煡璇㈠簱浣嶄俊鎭垪琛�
+        /// </summary>
+        /// <param name="input">搴撲綅淇℃伅鏌ヨ鍙傛暟</param>
+        /// <returns>(搴撲綅淇℃伅)瀹炰緥鍒楄〃</returns>
+        [HttpGet("WmsPlace/listNonPage")]
+        public async Task<List<WmsPlaceOutput>> ListNonPageAsync([FromQuery] WmsPlaceSearchNonPage input)
+        {
+            var pPlaceCode = input.PlaceCode?.Trim() ?? "";
+            var pPlaceName = input.PlaceName?.Trim() ?? "";
+            var pPlaceAlias = input.PlaceAlias?.Trim() ?? "";
+            var pPlaceType = input.PlaceType;
+            var pPlaceTypeName = input.PlaceTypeName?.Trim() ?? "";
+            var pStockUnit = input.StockUnit?.Trim() ?? "";
+            var pPlaceStatus = input.PlaceStatus;
+            var pIsSrmPlace = input.IsSrmPlace;
+            var pSrmPlaceNo = input.SrmPlaceNo?.Trim() ?? "";
+            var pIsRgvPlace = input.IsRgvPlace;
+            var pRgvPlaceNo = input.RgvPlaceNo?.Trim() ?? "";
+            var pIsAgvPlace = input.IsAgvPlace;
+            var pAgvPlaceNo = input.AgvPlaceNo?.Trim() ?? "";
+            var pIsTransPlace = input.IsTransPlace;
+            var pTransPlaceNo = input.TransPlaceNo?.Trim() ?? "";
+            var pIsActivateWCS = input.IsActivateWCS;
+            var pEnvironment = input.Environment?.Trim() ?? "";
+            var pAreaCode = input.AreaCode?.Trim() ?? "";
+            var pAreaId = input.AreaId;
+            var pAreaName = input.AreaName?.Trim() ?? "";
+            var pVerificationCode = input.VerificationCode?.Trim() ?? "";
+            var pRowNo = input.RowNo;
+            var pColumnNo = input.ColumnNo;
+            var pLayerNo = input.LayerNo;
+            var pLaneNo = input.LaneNo;
+            var pXzb = input.Xzb?.Trim() ?? "";
+            var pYzb = input.Yzb?.Trim() ?? "";
+            var pZzb = input.Zzb?.Trim() ?? "";
+            var pLength = input.Length;
+            var pWidth = input.Width;
+            var pHeight = input.Height;
+            var pMaxWeight = input.MaxWeight;
+            var pInSequence = input.InSequence;
+            var pOutSequence = input.OutSequence;
+            var pIsVirtually = input.IsVirtually;
+            var pIsDisabled = input.IsDisabled;
+            var pCreatedTime = input.CreatedTime;
+            var pUpdatedTime = input.UpdatedTime;
+            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
+            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
+            var wmsPlaces = await _wmsPlaceRep.DetachedEntities
+                .Where(!string.IsNullOrEmpty(pPlaceCode), u => u.PlaceCode == pPlaceCode)
+                .Where(!string.IsNullOrEmpty(pPlaceName), u => u.PlaceName == pPlaceName)
+                .Where(!string.IsNullOrEmpty(pPlaceAlias), u => u.PlaceAlias == pPlaceAlias)
+                .Where(pPlaceType != null, u => u.PlaceType == pPlaceType)
+                .Where(!string.IsNullOrEmpty(pPlaceTypeName), u => u.PlaceTypeName == pPlaceTypeName)
+                .Where(!string.IsNullOrEmpty(pStockUnit), u => u.StockUnit == pStockUnit)
+                .Where(pPlaceStatus != null, u => u.PlaceStatus == pPlaceStatus)
+                .Where(pIsSrmPlace != null, u => u.IsSrmPlace == pIsSrmPlace)
+                .Where(!string.IsNullOrEmpty(pSrmPlaceNo), u => u.SrmPlaceNo == pSrmPlaceNo)
+                .Where(pIsRgvPlace != null, u => u.IsRgvPlace == pIsRgvPlace)
+                .Where(!string.IsNullOrEmpty(pRgvPlaceNo), u => u.RgvPlaceNo == pRgvPlaceNo)
+                .Where(pIsAgvPlace != null, u => u.IsAgvPlace == pIsAgvPlace)
+                .Where(!string.IsNullOrEmpty(pAgvPlaceNo), u => u.AgvPlaceNo == pAgvPlaceNo)
+                .Where(pIsTransPlace != null, u => u.IsTransPlace == pIsTransPlace)
+                .Where(!string.IsNullOrEmpty(pTransPlaceNo), u => u.TransPlaceNo == pTransPlaceNo)
+                .Where(pIsActivateWCS != null, u => u.IsActivateWCS == pIsActivateWCS)
+                .Where(!string.IsNullOrEmpty(pEnvironment), u => u.Environment == pEnvironment)
+                .Where(!string.IsNullOrEmpty(pAreaCode), u => u.AreaCode == pAreaCode)
+                .Where(pAreaId != null, u => u.AreaId == pAreaId)
+                .Where(!string.IsNullOrEmpty(pAreaName), u => u.AreaName == pAreaName)
+                .Where(!string.IsNullOrEmpty(pVerificationCode), u => u.VerificationCode == pVerificationCode)
+                .Where(pRowNo != null, u => u.RowNo == pRowNo)
+                .Where(pColumnNo != null, u => u.ColumnNo == pColumnNo)
+                .Where(pLayerNo != null, u => u.LayerNo == pLayerNo)
+                .Where(pLaneNo != null, u => u.LaneNo == pLaneNo)
+                .Where(!string.IsNullOrEmpty(pXzb), u => u.Xzb == pXzb)
+                .Where(!string.IsNullOrEmpty(pYzb), u => u.Yzb == pYzb)
+                .Where(!string.IsNullOrEmpty(pZzb), u => u.Zzb == pZzb)
+                .Where(pLength != null, u => u.Length == pLength)
+                .Where(pWidth != null, u => u.Width == pWidth)
+                .Where(pHeight != null, u => u.Height == pHeight)
+                .Where(pMaxWeight != null, u => u.MaxWeight == pMaxWeight)
+                .Where(pInSequence != null, u => u.InSequence == pInSequence)
+                .Where(pOutSequence != null, u => u.OutSequence == pOutSequence)
+                .Where(pIsVirtually != null, u => u.IsVirtually == pIsVirtually)
+                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
+           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
+                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
+            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
+            .ProjectToType<WmsPlaceOutput>()
+            .ToListAsync();
+            return wmsPlaces;
+        }
+
+         /// <summary>
+        /// 鑾峰彇搴撲綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsPlace/detail")]
+        public async Task<WmsPlaceOutput> Get([FromQuery] QueryeWmsPlaceInput input)
+        {
+            return (await _wmsPlaceRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsPlaceOutput>();
+        }
+
+        /// <summary>
+        /// 鑾峰彇搴撲綅淇℃伅鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsPlace/list")]
+        public async Task<List<WmsPlaceOutput>> List([FromQuery] WmsPlaceInput input)
+        {
+            return await _wmsPlaceRep.DetachedEntities.ProjectToType<WmsPlaceOutput>().ToListAsync();
+        }    
+
+        #region 澧炪�佸垹銆佹敼
+
+        /// <summary>
+        /// 澧炲姞搴撲綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsPlace/add")]
+        public async Task Add(AddWmsPlaceInput input)
+        {
+            var wmsPlace = input.Adapt<WmsPlace>();
+                        //楠岃瘉
+            await CheckExisit(wmsPlace);
+
+            wmsPlace.CreatedUserId = wmsPlace.UpdatedUserId = SysHelper.GetUserId();
+            wmsPlace.CreatedUserName = wmsPlace.UpdatedUserName = SysHelper.GetUserName();
+            wmsPlace.CreatedTime = wmsPlace.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsPlaceRep.InsertAsync(wmsPlace);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎搴撲綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsPlace/delete")]
+        public async Task Delete(DeleteWmsPlaceInput input)
+        {
+            var wmsPlace = await _wmsPlaceRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+            await _wmsPlaceRep.DeleteAsync(wmsPlace);
+            
+        }
+
+        /// <summary>
+        /// 鏇存柊搴撲綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsPlace/edit")]
+        public async Task Update(UpdateWmsPlaceInput input)
+        {
+            var isExist = await _wmsPlaceRep.AnyAsync(u => u.Id == input.Id, false);
+            if (!isExist) throw Oops.Oh(ErrorCode.D1002);
+
+            var wmsPlace = input.Adapt<WmsPlace>();
+            //楠岃瘉
+            await CheckExisit(wmsPlace,true);
+
+            wmsPlace.UpdatedUserId = SysHelper.GetUserId();
+            wmsPlace.UpdatedUserName = SysHelper.GetUserName();
+            wmsPlace.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsPlaceRep.UpdateAsync(wmsPlace,ignoreNullValues:true);
+        }
+
+        #endregion
+
+        #region 瀵煎叆
+
+        /// <summary>
+        /// Excel妯℃澘瀵煎叆搴撲綅淇℃伅鍔熻兘
+        /// </summary>
+        /// <param name="file">Excel妯℃澘鏂囦欢</param>
+        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+        [HttpPost("WmsPlace/importExcel")]
+        public async Task<int> ImportExcelAsync(IFormFile file)
+        { 
+            int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+            int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+
+            DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+            var addList =await CommonImport(importDataTable, _DataStartLine);
+
+            lock (_lock)
+            {
+                _wmsPlaceRep.InsertAsync(addList);
+               
+            }
+            await Task.CompletedTask;
+            return addList.Count;
+        }
+
+        /// <summary>
+        ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+        /// </summary>
+        /// <param name="dataTable"></param>
+        /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+        /// <returns></returns>
+        private async Task<List<WmsPlace>> CommonImport(DataTable dataTable, int dataStartLine)
+        {
+
+            var details = new List<WmsPlace>();
+            int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+            foreach (System.Data.DataRow row in dataTable.Rows)
+            {
+                index++;
+
+               //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                          
+                           var addItem = new WmsPlace()
+                            {
+                               CreatedTime = SysHelper.GetNowTime(),
+                               CreatedUserId = SysHelper.GetUserId(),
+                               CreatedUserName = SysHelper.GetUserName(),
+                               UpdatedTime = SysHelper.GetNowTime(),
+                               UpdatedUserId = SysHelper.GetUserId(),
+                               UpdatedUserName = SysHelper.GetUserName()
+                             };
+                          #region 瀹氫箟鍙橀噺
+                           var _PlaceCode = "";//搴撲綅缂栫爜
+                           var _PlaceName = "";//搴撲綅鍚嶇О
+                           var _PlaceAlias = "";//搴撲綅鍒悕
+                           var _PlaceType = "";//搴撲綅绫诲瀷
+                           var _PlaceTypeName = "";//搴撲綅绫诲瀷鍚嶇О
+                           var _StockUnit = "";//瀛樻斁鍗曚綅
+                           var _PlaceStatus = "";//搴撲綅灞炴��
+                           var _IsSrmPlace = "";//鏄惁鍫嗗灈鏈哄簱浣�
+                           var _SrmPlaceNo = "";//鍫嗗灈鏈哄簱浣嶅彿
+                           var _IsRgvPlace = "";//鏄惁RGV搴撲綅
+                           var _RgvPlaceNo = "";//RGV搴撲綅鍙�
+                           var _IsAgvPlace = "";//鏄惁AGV搴撲綅
+                           var _AgvPlaceNo = "";//AGV搴撲綅鍙�
+                           var _IsTransPlace = "";//鏄惁杈撻�佺嚎搴撲綅
+                           var _TransPlaceNo = "";//杈撻�佺嚎搴撲綅鍙�
+                           var _IsActivateWCS = "";//鏄惁婵�娲讳笌浠诲姟璋冨害
+                           var _Environment = "";//搴撳瓨鐜
+                           var _AreaCode = "";//搴撳尯缂栧彿
+                           var _AreaId = "";//鎵�鍦ㄥ簱鍖�
+                           var _AreaName = "";//搴撳尯鍚嶇О
+                           var _VerificationCode = "";//妫�楠岀爜
+                           var _RowNo = "";//鎺�
+                           var _ColumnNo = "";//鍒�
+                           var _LayerNo = "";//灞�
+                           var _LaneNo = "";//宸烽亾
+                           var _Xzb = "";//搴撲綅X鍧愭爣
+                           var _Yzb = "";//搴撲綅Y鍧愭爣
+                           var _Zzb = "";//搴撲綅Z鍧愭爣
+                           var _Length = "";//搴撲綅闀垮害
+                           var _Width = "";//搴撲綅瀹藉害
+                           var _Height = "";//搴撲綅楂樺害
+                           var _MaxWeight = "";//鏈�澶ф壙閲�
+                           var _InSequence = "";//鍏ュ簱椤哄簭
+                           var _OutSequence = "";//鍑哄簱椤哄簭
+                           var _IsVirtually = "";//鏄惁铏氭嫙
+                           var _IsDisabled = "";//鏄惁绂佺敤
+                           var _Id = "";//Id涓婚敭
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _PlaceCode = row["搴撲綅缂栫爜"]?.ToString() ;
+                           _PlaceName = row["搴撲綅鍚嶇О"]?.ToString() ;
+                           _PlaceAlias = row["搴撲綅鍒悕"]?.ToString() ;
+                           _PlaceType = row["搴撲綅绫诲瀷"]?.ToString() ;
+                           _PlaceTypeName = row["搴撲綅绫诲瀷鍚嶇О"]?.ToString() ;
+                           _StockUnit = row["瀛樻斁鍗曚綅"]?.ToString() ;
+                           _PlaceStatus = row["搴撲綅灞炴��"]?.ToString() ;
+                           _IsSrmPlace = row["鏄惁鍫嗗灈鏈哄簱浣�"]?.ToString() ;
+                           _SrmPlaceNo = row["鍫嗗灈鏈哄簱浣嶅彿"]?.ToString() ;
+                           _IsRgvPlace = row["鏄惁RGV搴撲綅"]?.ToString() ;
+                           _RgvPlaceNo = row["RGV搴撲綅鍙�"]?.ToString() ;
+                           _IsAgvPlace = row["鏄惁AGV搴撲綅"]?.ToString() ;
+                           _AgvPlaceNo = row["AGV搴撲綅鍙�"]?.ToString() ;
+                           _IsTransPlace = row["鏄惁杈撻�佺嚎搴撲綅"]?.ToString() ;
+                           _TransPlaceNo = row["杈撻�佺嚎搴撲綅鍙�"]?.ToString() ;
+                           _IsActivateWCS = row["鏄惁婵�娲讳笌浠诲姟璋冨害"]?.ToString() ;
+                           _Environment = row["搴撳瓨鐜"]?.ToString() ;
+                           _AreaCode = row["搴撳尯缂栧彿"]?.ToString() ;
+                           _AreaId = row["鎵�鍦ㄥ簱鍖�"]?.ToString() ;
+                           _AreaName = row["搴撳尯鍚嶇О"]?.ToString() ;
+                           _VerificationCode = row["妫�楠岀爜"]?.ToString() ;
+                           _RowNo = row["鎺�"]?.ToString() ;
+                           _ColumnNo = row["鍒�"]?.ToString() ;
+                           _LayerNo = row["灞�"]?.ToString() ;
+                           _LaneNo = row["宸烽亾"]?.ToString() ;
+                           _Xzb = row["搴撲綅X鍧愭爣"]?.ToString() ;
+                           _Yzb = row["搴撲綅Y鍧愭爣"]?.ToString() ;
+                           _Zzb = row["搴撲綅Z鍧愭爣"]?.ToString() ;
+                           _Length = row["搴撲綅闀垮害"]?.ToString() ;
+                           _Width = row["搴撲綅瀹藉害"]?.ToString() ;
+                           _Height = row["搴撲綅楂樺害"]?.ToString() ;
+                           _MaxWeight = row["鏈�澶ф壙閲�"]?.ToString() ;
+                           _InSequence = row["鍏ュ簱椤哄簭"]?.ToString() ;
+                           _OutSequence = row["鍑哄簱椤哄簭"]?.ToString() ;
+                           _IsVirtually = row["鏄惁铏氭嫙"]?.ToString() ;
+                           _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ;
+                           _Id = row["Id涓婚敭"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_PlaceCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾搴撲綅缂栫爜]{_PlaceCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_PlaceCode))
+                          {
+                                addItem.PlaceCode = (string)_PlaceCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_PlaceName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾搴撲綅鍚嶇О]{_PlaceName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_PlaceName))
+                          {
+                                addItem.PlaceName = (string)_PlaceName;
+                           }
+                          if(!string.IsNullOrEmpty(_PlaceAlias))
+                          {
+                                addItem.PlaceAlias = (string)_PlaceAlias;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_PlaceType))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾搴撲綅绫诲瀷]{_PlaceType}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_PlaceType))
+                          {
+                              if (!int.TryParse(_PlaceType, out int outPlaceType)&&!string.IsNullOrEmpty(_PlaceType))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅绫诲瀷]{_PlaceType}鍊间笉姝g‘锛�");
+                              }
+                              if (outPlaceType <= 0&&!string.IsNullOrEmpty(_PlaceType))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅绫诲瀷]{_PlaceType}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.PlaceType = outPlaceType;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_PlaceTypeName))
+                          {
+                                addItem.PlaceTypeName = (string)_PlaceTypeName;
+                           }
+                          if(!string.IsNullOrEmpty(_StockUnit))
+                          {
+                                addItem.StockUnit = (string)_StockUnit;
+                           }
+                          if(!string.IsNullOrEmpty(_PlaceStatus))
+                          {
+                              if (!int.TryParse(_PlaceStatus, out int outPlaceStatus)&&!string.IsNullOrEmpty(_PlaceStatus))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅灞炴�{_PlaceStatus}鍊间笉姝g‘锛�");
+                              }
+                              if (outPlaceStatus <= 0&&!string.IsNullOrEmpty(_PlaceStatus))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅灞炴�{_PlaceStatus}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.PlaceStatus = outPlaceStatus;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_IsSrmPlace))
+                          {
+                            if(!_IsSrmPlace.Equals("鏄�") && !_IsSrmPlace.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁鍫嗗灈鏈哄簱浣峕{_IsSrmPlace}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsSrmPlace = _IsSrmPlace.Equals("鏄�") ? true : false;
+                               addItem.IsSrmPlace = outIsSrmPlace;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_SrmPlaceNo))
+                          {
+                                addItem.SrmPlaceNo = (string)_SrmPlaceNo;
+                           }
+                          if(!string.IsNullOrEmpty(_IsRgvPlace))
+                          {
+                            if(!_IsRgvPlace.Equals("鏄�") && !_IsRgvPlace.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁RGV搴撲綅]{_IsRgvPlace}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsRgvPlace = _IsRgvPlace.Equals("鏄�") ? true : false;
+                               addItem.IsRgvPlace = outIsRgvPlace;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_RgvPlaceNo))
+                          {
+                                addItem.RgvPlaceNo = (string)_RgvPlaceNo;
+                           }
+                          if(!string.IsNullOrEmpty(_IsAgvPlace))
+                          {
+                            if(!_IsAgvPlace.Equals("鏄�") && !_IsAgvPlace.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁AGV搴撲綅]{_IsAgvPlace}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsAgvPlace = _IsAgvPlace.Equals("鏄�") ? true : false;
+                               addItem.IsAgvPlace = outIsAgvPlace;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_AgvPlaceNo))
+                          {
+                                addItem.AgvPlaceNo = (string)_AgvPlaceNo;
+                           }
+                          if(!string.IsNullOrEmpty(_IsTransPlace))
+                          {
+                            if(!_IsTransPlace.Equals("鏄�") && !_IsTransPlace.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁杈撻�佺嚎搴撲綅]{_IsTransPlace}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsTransPlace = _IsTransPlace.Equals("鏄�") ? true : false;
+                               addItem.IsTransPlace = outIsTransPlace;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_TransPlaceNo))
+                          {
+                                addItem.TransPlaceNo = (string)_TransPlaceNo;
+                           }
+                          if(!string.IsNullOrEmpty(_IsActivateWCS))
+                          {
+                            if(!_IsActivateWCS.Equals("鏄�") && !_IsActivateWCS.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁婵�娲讳笌浠诲姟璋冨害]{_IsActivateWCS}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsActivateWCS = _IsActivateWCS.Equals("鏄�") ? true : false;
+                               addItem.IsActivateWCS = outIsActivateWCS;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_Environment))
+                          {
+                                addItem.Environment = (string)_Environment;
+                           }
+                          if(!string.IsNullOrEmpty(_AreaCode))
+                          {
+                                addItem.AreaCode = (string)_AreaCode;
+                           }
+                          if(!string.IsNullOrEmpty(_AreaId))
+                          {
+                              if (!long.TryParse(_AreaId, out long outAreaId)&&!string.IsNullOrEmpty(_AreaId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鎵�鍦ㄥ簱鍖篯{_AreaId}鍊间笉姝g‘锛�");
+                              }
+                              if (outAreaId <= 0&&!string.IsNullOrEmpty(_AreaId))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鎵�鍦ㄥ簱鍖篯{_AreaId}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.AreaId = outAreaId;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_AreaName))
+                          {
+                                addItem.AreaName = (string)_AreaName;
+                           }
+                          if(!string.IsNullOrEmpty(_VerificationCode))
+                          {
+                                addItem.VerificationCode = (string)_VerificationCode;
+                           }
+                          if(!string.IsNullOrEmpty(_RowNo))
+                          {
+                              if (!int.TryParse(_RowNo, out int outRowNo)&&!string.IsNullOrEmpty(_RowNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鎺抅{_RowNo}鍊间笉姝g‘锛�");
+                              }
+                              if (outRowNo <= 0&&!string.IsNullOrEmpty(_RowNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鎺抅{_RowNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.RowNo = outRowNo;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_ColumnNo))
+                          {
+                              if (!int.TryParse(_ColumnNo, out int outColumnNo)&&!string.IsNullOrEmpty(_ColumnNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鍒梋{_ColumnNo}鍊间笉姝g‘锛�");
+                              }
+                              if (outColumnNo <= 0&&!string.IsNullOrEmpty(_ColumnNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鍒梋{_ColumnNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.ColumnNo = outColumnNo;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_LayerNo))
+                          {
+                              if (!int.TryParse(_LayerNo, out int outLayerNo)&&!string.IsNullOrEmpty(_LayerNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾灞俔{_LayerNo}鍊间笉姝g‘锛�");
+                              }
+                              if (outLayerNo <= 0&&!string.IsNullOrEmpty(_LayerNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾灞俔{_LayerNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.LayerNo = outLayerNo;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_LaneNo))
+                          {
+                              if (!int.TryParse(_LaneNo, out int outLaneNo)&&!string.IsNullOrEmpty(_LaneNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾宸烽亾]{_LaneNo}鍊间笉姝g‘锛�");
+                              }
+                              if (outLaneNo <= 0&&!string.IsNullOrEmpty(_LaneNo))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾宸烽亾]{_LaneNo}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.LaneNo = outLaneNo;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_Xzb))
+                          {
+                                addItem.Xzb = (string)_Xzb;
+                           }
+                          if(!string.IsNullOrEmpty(_Yzb))
+                          {
+                                addItem.Yzb = (string)_Yzb;
+                           }
+                          if(!string.IsNullOrEmpty(_Zzb))
+                          {
+                                addItem.Zzb = (string)_Zzb;
+                           }
+                          if(!string.IsNullOrEmpty(_Length))
+                          {
+                              if (!decimal.TryParse(_Length, out decimal outLength)&&!string.IsNullOrEmpty(_Length))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅闀垮害]{_Length}鍊间笉姝g‘锛�");
+                              }
+                              if (outLength <= 0&&!string.IsNullOrEmpty(_Length))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅闀垮害]{_Length}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Length = outLength;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_Width))
+                          {
+                              if (!decimal.TryParse(_Width, out decimal outWidth)&&!string.IsNullOrEmpty(_Width))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅瀹藉害]{_Width}鍊间笉姝g‘锛�");
+                              }
+                              if (outWidth <= 0&&!string.IsNullOrEmpty(_Width))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅瀹藉害]{_Width}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Width = outWidth;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_Height))
+                          {
+                              if (!decimal.TryParse(_Height, out decimal outHeight)&&!string.IsNullOrEmpty(_Height))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅楂樺害]{_Height}鍊间笉姝g‘锛�");
+                              }
+                              if (outHeight <= 0&&!string.IsNullOrEmpty(_Height))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾搴撲綅楂樺害]{_Height}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Height = outHeight;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_MaxWeight))
+                          {
+                              if (!decimal.TryParse(_MaxWeight, out decimal outMaxWeight)&&!string.IsNullOrEmpty(_MaxWeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏈�澶ф壙閲峕{_MaxWeight}鍊间笉姝g‘锛�");
+                              }
+                              if (outMaxWeight <= 0&&!string.IsNullOrEmpty(_MaxWeight))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鏈�澶ф壙閲峕{_MaxWeight}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.MaxWeight = outMaxWeight;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_InSequence))
+                          {
+                              if (!int.TryParse(_InSequence, out int outInSequence)&&!string.IsNullOrEmpty(_InSequence))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鍏ュ簱椤哄簭]{_InSequence}鍊间笉姝g‘锛�");
+                              }
+                              if (outInSequence <= 0&&!string.IsNullOrEmpty(_InSequence))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鍏ュ簱椤哄簭]{_InSequence}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.InSequence = outInSequence;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_OutSequence))
+                          {
+                              if (!int.TryParse(_OutSequence, out int outOutSequence)&&!string.IsNullOrEmpty(_OutSequence))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鍑哄簱椤哄簭]{_OutSequence}鍊间笉姝g‘锛�");
+                              }
+                              if (outOutSequence <= 0&&!string.IsNullOrEmpty(_OutSequence))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾鍑哄簱椤哄簭]{_OutSequence}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.OutSequence = outOutSequence;
+                              }
+                          
+                          }
+                          if(!string.IsNullOrEmpty(_IsVirtually))
+                          {
+                            if(!_IsVirtually.Equals("鏄�") && !_IsVirtually.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁铏氭嫙]{_IsVirtually}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsVirtually = _IsVirtually.Equals("鏄�") ? true : false;
+                               addItem.IsVirtually = outIsVirtually;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_IsDisabled))
+                          {
+                            if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false;
+                               addItem.IsDisabled = outIsDisabled;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_Id))
+                          {
+                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�");
+                              }
+                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Id = outId;
+                              }
+                          
+                          }
+                          #endregion
+                          
+
+              
+                details.Add(addItem);
+            }
+              //楠岄噸
+              await CheckExisitForImport(details);
+            
+            return details;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鐗堟湰涓嬭浇搴撲綅淇℃伅鐨凟xcel瀵煎叆妯℃澘
+        /// </summary>
+        /// <param name="version">妯℃澘鐗堟湰</param>
+        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        [HttpGet("WmsPlace/downloadExcelTemplate")]
+        public IActionResult DownloadExcelTemplate([FromQuery] string version)
+        {
+            string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsPlace{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(搴撲綅淇℃伅).xlsx", Encoding.GetEncoding("UTF-8"));
+            return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+        }
+
+        #endregion
+
+        #region 绉佹湁鏂规硶
+
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="isEdit"></param>
+        /// <returns></returns>
+        private async Task CheckExisit( WmsPlace input,bool isEdit=false)
+        {
+           
+
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _wmsPlaceRep.AnyAsync(u =>
+                                   u.PlaceCode.Equals(input.PlaceCode)
+                   ,false);
+          }
+           else//缂栬緫 
+          {
+
+          
+                
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _wmsPlaceRep.AnyAsync(u => 
+                                    u.Id != input.Id
+                                    &&u.PlaceCode.Equals(input.PlaceCode)
+                    ,false);
+               }
+               
+        
+
+            if (isExist) throw Oops.Oh(ErrorCode.E0001);
+       }
+        
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsPlace> inputs)
+        { 
+            //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 if (inputs?.Count <= 0)
+                 {
+                     throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+                 }
+                 //鏁版嵁鏄惁閲嶅
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.PlaceCode
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.PlaceCode
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var wmsPlace = existExcelItem.Adapt<WmsPlace>();
+                   var item= existExcelItem.Adapt<WmsPlace>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,搴撲綅缂栫爜[{item.PlaceCode}]宸插瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _wmsPlaceRep.DetachedEntities.FirstOrDefaultAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.PlaceCode
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.PlaceCode
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var wmsPlace = existExcelItem.Adapt<WmsPlace>();
+                   var item= existExcelItem.Adapt<WmsPlace>();
+                   throw Oops.Oh($"绯荤粺涓�,搴撲綅缂栫爜[{item.PlaceCode}]宸插瓨鍦�");
+                 }
+        }
+
+        #endregion
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs
new file mode 100644
index 0000000..f967b03
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitInput.cs
@@ -0,0 +1,165 @@
+锘縰sing Admin.NET.Core;
+using Admin.NET.Core.Service;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application
+{    
+    
+    /// <summary>
+    /// 鍗曚綅淇℃伅鏌ヨ鍙傛暟
+    /// </summary>
+    public class WmsUnitSearch : PageInputBase
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public virtual string UnitCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public virtual string UnitName { get; set; }
+        
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        public virtual string UnitDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual List<string> CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public virtual List<string> UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+        /// <summary>
+    /// 鍗曚綅淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+    /// </summary>
+    public class WmsUnitSearchNonPage : PageInputNonPageBase
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public virtual string UnitCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public virtual string UnitName { get; set; }
+        
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        public virtual string UnitDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+         public virtual List<DateTimeOffset>? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public virtual string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public virtual string UpdatedUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曚綅淇℃伅杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsUnitInput
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "缂栧彿涓嶈兘涓虹┖")]
+        public virtual string UnitCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string UnitName { get; set; }
+        
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        public virtual string UnitDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曚綅淇℃伅鏂板鍙傛暟
+    /// </summary>
+    public class AddWmsUnitInput : WmsUnitInput
+    {
+    }
+
+    /// <summary>
+    /// 鍗曚綅淇℃伅鍒犻櫎鍙傛暟
+    /// </summary>
+    public class DeleteWmsUnitInput : BaseId
+    {
+    }
+
+    /// <summary>
+    /// 鍗曚綅淇℃伅鏇存柊鍙傛暟
+    /// </summary>
+    public class UpdateWmsUnitInput : WmsUnitInput
+    {
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
+        public long? Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鍗曚綅淇℃伅鑾峰彇鍗曚釜鍙傛暟
+    /// </summary>
+    public class QueryeWmsUnitInput : BaseId
+    {
+
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs
new file mode 100644
index 0000000..668e3ac
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Dto/WmsUnitOutput.cs
@@ -0,0 +1,57 @@
+锘縰sing Admin.NET.Core.Util.LowCode.Dto;
+using System;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 鍗曚綅淇℃伅杈撳嚭鍙傛暟
+    /// </summary>
+    public class WmsUnitOutput
+    {
+        /// <summary>
+        /// 缂栧彿
+        /// </summary>
+        public string UnitCode { get; set; }
+        
+        /// <summary>
+        /// 鍚嶇О
+        /// </summary>
+        public string UnitName { get; set; }
+        
+        /// <summary>
+        /// 鎻忚堪
+        /// </summary>
+        public string UnitDesc { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public bool? IsDisabled { get; set; }
+        
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        public long? Id { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTimeOffset? CreatedTime { get; set; }
+        
+        /// <summary>
+        /// 鏇存柊鏃堕棿
+        /// </summary>
+        public DateTimeOffset? UpdatedTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鑰呭悕绉�
+        /// </summary>
+        public string CreatedUserName { get; set; }
+        
+        /// <summary>
+        /// 淇敼鑰呭悕绉�
+        /// </summary>
+        public string UpdatedUserName { get; set; }
+        
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs
new file mode 100644
index 0000000..0b91e04
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/IWmsUnitService.cs
@@ -0,0 +1,22 @@
+锘縰sing Admin.NET.Core;
+using Microsoft.AspNetCore.Mvc;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Http;
+
+namespace Admin.NET.Application
+{
+    public interface IWmsUnitService
+    {
+        Task<WmsUnitOutput> Get([FromQuery] QueryeWmsUnitInput input);
+        Task<List<WmsUnitOutput>> List([FromQuery] WmsUnitInput input);
+        Task<PageResult<WmsUnitOutput>> Page([FromQuery] WmsUnitSearch input);
+        Task<List<WmsUnitOutput>> ListNonPageAsync([FromQuery] WmsUnitSearchNonPage input);
+        
+        Task Add(AddWmsUnitInput input);
+        Task Update(UpdateWmsUnitInput input);
+        Task Delete(DeleteWmsUnitInput input);
+        Task<int> ImportExcelAsync(IFormFile file);
+        IActionResult DownloadExcelTemplate(string version);
+    }
+}
\ No newline at end of file
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs
new file mode 100644
index 0000000..86dc842
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/Map/WmsUnitMapper.cs
@@ -0,0 +1,18 @@
+锘縰sing Mapster;
+using Admin.NET.Core;
+
+namespace Admin.NET.Application
+{
+    public class WmsUnitMapper : IRegister
+    {
+        public void Register(TypeAdapterConfig config)
+        {
+            config.ForType<AddWmsUnitInput, WmsUnit>()
+            ;
+            config.ForType<UpdateWmsUnitInput, WmsUnit>()
+            ;
+            config.ForType<WmsUnit, WmsUnitOutput>()
+            ;
+        }
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs
new file mode 100644
index 0000000..10d8819
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsUnit/WmsUnitService.cs
@@ -0,0 +1,412 @@
+锘縰sing Furion.DatabaseAccessor;
+using Furion.DatabaseAccessor.Extensions;
+using Furion.DependencyInjection;
+using Furion.DynamicApiController;
+using Furion.FriendlyException;
+using Admin.NET.Core;
+using Mapster;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
+using System.Linq.Dynamic.Core;
+using Microsoft.AspNetCore.Http;
+using System.Text;
+using System.Web;
+using System.ComponentModel;
+using System.Data;
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 鍗曚綅淇℃伅鏈嶅姟
+    /// </summary>
+    [ApiDescriptionSettings("WmsBase", Name = "WmsUnit", Order = 100)]
+    [Route("api")]
+    public class WmsUnitService : IWmsUnitService, IDynamicApiController, ITransient
+    {
+        private readonly IRepository<WmsUnit,MasterDbContextLocator> _wmsUnitRep;
+        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
+        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
+        private readonly ISysExcelTemplateService _sysExcelTemplateService;
+        private readonly static object _lock = new();
+
+        public WmsUnitService(
+            IRepository<WmsUnit,MasterDbContextLocator> wmsUnitRep
+            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
+            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
+            ,ISysExcelTemplateService sysExcelTemplateService
+        )
+        {
+            _wmsUnitRep = wmsUnitRep;
+         _sysDictTypeRep = sysDictTypeRep;
+         _sysDictDataRep = sysDictDataRep;
+         _sysExcelTemplateService = sysExcelTemplateService;
+        }
+
+        /// <summary>
+        /// 鍒嗛〉鏌ヨ鍗曚綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsUnit/page")]
+        public async Task<PageResult<WmsUnitOutput>> Page([FromQuery] WmsUnitSearch input)
+        {
+            var wmsUnits = await _wmsUnitRep.DetachedEntities
+                                     .Where(!string.IsNullOrEmpty(input.UnitCode), u => u.UnitCode == input.UnitCode)
+                                     .Where(!string.IsNullOrEmpty(input.UnitName), u => u.UnitName == input.UnitName)
+                                     .Where(!string.IsNullOrEmpty(input.UnitDesc), u => u.UnitDesc == input.UnitDesc)
+                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
+                                     .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+                                     .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
+                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
+                                     .OrderBy(PageInputOrder.OrderBuilder<WmsUnitSearch>(input))
+                                     .ProjectToType<WmsUnitOutput>()
+                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
+            return wmsUnits;
+        }
+
+        /// <summary>
+        /// 涓嶅垎椤垫煡璇㈠崟浣嶄俊鎭垪琛�
+        /// </summary>
+        /// <param name="input">鍗曚綅淇℃伅鏌ヨ鍙傛暟</param>
+        /// <returns>(鍗曚綅淇℃伅)瀹炰緥鍒楄〃</returns>
+        [HttpGet("WmsUnit/listNonPage")]
+        public async Task<List<WmsUnitOutput>> ListNonPageAsync([FromQuery] WmsUnitSearchNonPage input)
+        {
+            var pUnitCode = input.UnitCode?.Trim() ?? "";
+            var pUnitName = input.UnitName?.Trim() ?? "";
+            var pUnitDesc = input.UnitDesc?.Trim() ?? "";
+            var pIsDisabled = input.IsDisabled;
+            var pCreatedTime = input.CreatedTime;
+            var pUpdatedTime = input.UpdatedTime;
+            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
+            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
+            var wmsUnits = await _wmsUnitRep.DetachedEntities
+                .Where(!string.IsNullOrEmpty(pUnitCode), u => u.UnitCode == pUnitCode)
+                .Where(!string.IsNullOrEmpty(pUnitName), u => u.UnitName == pUnitName)
+                .Where(!string.IsNullOrEmpty(pUnitDesc), u => u.UnitDesc == pUnitDesc)
+                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
+           .Where(input.CreatedTime!=null, u => u.CreatedTime>=  Convert.ToDateTime(input.CreatedTime[0]) && u.CreatedTime<= Convert.ToDateTime(input.CreatedTime[1]))
+           .Where(input.UpdatedTime!=null, u => u.UpdatedTime>=  Convert.ToDateTime(input.UpdatedTime[0]) && u.UpdatedTime<= Convert.ToDateTime(input.UpdatedTime[1]))
+                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
+                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
+            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
+            .ProjectToType<WmsUnitOutput>()
+            .ToListAsync();
+            return wmsUnits;
+        }
+
+         /// <summary>
+        /// 鑾峰彇鍗曚綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsUnit/detail")]
+        public async Task<WmsUnitOutput> Get([FromQuery] QueryeWmsUnitInput input)
+        {
+            return (await _wmsUnitRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsUnitOutput>();
+        }
+
+        /// <summary>
+        /// 鑾峰彇鍗曚綅淇℃伅鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsUnit/list")]
+        public async Task<List<WmsUnitOutput>> List([FromQuery] WmsUnitInput input)
+        {
+            return await _wmsUnitRep.DetachedEntities.ProjectToType<WmsUnitOutput>().ToListAsync();
+        }    
+
+        #region 澧炪�佸垹銆佹敼
+
+        /// <summary>
+        /// 澧炲姞鍗曚綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsUnit/add")]
+        public async Task Add(AddWmsUnitInput input)
+        {
+            var wmsUnit = input.Adapt<WmsUnit>();
+                        //楠岃瘉
+            await CheckExisit(wmsUnit);
+
+            wmsUnit.CreatedUserId = wmsUnit.UpdatedUserId = SysHelper.GetUserId();
+            wmsUnit.CreatedUserName = wmsUnit.UpdatedUserName = SysHelper.GetUserName();
+            wmsUnit.CreatedTime = wmsUnit.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsUnitRep.InsertAsync(wmsUnit);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎鍗曚綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsUnit/delete")]
+        public async Task Delete(DeleteWmsUnitInput input)
+        {
+            var wmsUnit = await _wmsUnitRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+            await _wmsUnitRep.DeleteAsync(wmsUnit);
+            
+        }
+
+        /// <summary>
+        /// 鏇存柊鍗曚綅淇℃伅
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsUnit/edit")]
+        public async Task Update(UpdateWmsUnitInput input)
+        {
+            var isExist = await _wmsUnitRep.AnyAsync(u => u.Id == input.Id, false);
+            if (!isExist) throw Oops.Oh(ErrorCode.D1002);
+
+            var wmsUnit = input.Adapt<WmsUnit>();
+            //楠岃瘉
+            await CheckExisit(wmsUnit,true);
+
+            wmsUnit.UpdatedUserId = SysHelper.GetUserId();
+            wmsUnit.UpdatedUserName = SysHelper.GetUserName();
+            wmsUnit.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsUnitRep.UpdateAsync(wmsUnit,ignoreNullValues:true);
+        }
+
+        #endregion
+
+        #region 瀵煎叆
+
+        /// <summary>
+        /// Excel妯℃澘瀵煎叆鍗曚綅淇℃伅鍔熻兘
+        /// </summary>
+        /// <param name="file">Excel妯℃澘鏂囦欢</param>
+        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+        [HttpPost("WmsUnit/importExcel")]
+        public async Task<int> ImportExcelAsync(IFormFile file)
+        { 
+            int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+            int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+
+            DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+            var addList =await CommonImport(importDataTable, _DataStartLine);
+
+            lock (_lock)
+            {
+                _wmsUnitRep.InsertAsync(addList);
+               
+            }
+            await Task.CompletedTask;
+            return addList.Count;
+        }
+
+        /// <summary>
+        ///  DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+        /// </summary>
+        /// <param name="dataTable"></param>
+        /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+        /// <returns></returns>
+        private async Task<List<WmsUnit>> CommonImport(DataTable dataTable, int dataStartLine)
+        {
+
+            var details = new List<WmsUnit>();
+            int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+            foreach (System.Data.DataRow row in dataTable.Rows)
+            {
+                index++;
+
+               //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                          
+                           var addItem = new WmsUnit()
+                            {
+                               CreatedTime = SysHelper.GetNowTime(),
+                               CreatedUserId = SysHelper.GetUserId(),
+                               CreatedUserName = SysHelper.GetUserName(),
+                               UpdatedTime = SysHelper.GetNowTime(),
+                               UpdatedUserId = SysHelper.GetUserId(),
+                               UpdatedUserName = SysHelper.GetUserName()
+                             };
+                          #region 瀹氫箟鍙橀噺
+                           var _UnitCode = "";//缂栧彿
+                           var _UnitName = "";//鍚嶇О
+                           var _UnitDesc = "";//鎻忚堪
+                           var _IsDisabled = "";//鏄惁绂佺敤
+                           var _Id = "";//Id涓婚敭
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _UnitCode = row["缂栧彿"]?.ToString() ;
+                           _UnitName = row["鍚嶇О"]?.ToString() ;
+                           _UnitDesc = row["鎻忚堪"]?.ToString() ;
+                           _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ;
+                           _Id = row["Id涓婚敭"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_UnitCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾缂栧彿]{_UnitCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_UnitCode))
+                          {
+                                addItem.UnitCode = (string)_UnitCode;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_UnitName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾鍚嶇О]{_UnitName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_UnitName))
+                          {
+                                addItem.UnitName = (string)_UnitName;
+                           }
+                          if(!string.IsNullOrEmpty(_UnitDesc))
+                          {
+                                addItem.UnitDesc = (string)_UnitDesc;
+                           }
+                          if(!string.IsNullOrEmpty(_IsDisabled))
+                          {
+                            if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
+                             {
+                               throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}鍊间笉姝g‘锛�");
+                             }
+                             else
+                             {
+                               bool outIsDisabled = _IsDisabled.Equals("鏄�") ? true : false;
+                               addItem.IsDisabled = outIsDisabled;
+                             }
+                             }
+                          
+                          if(!string.IsNullOrEmpty(_Id))
+                          {
+                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉姝g‘锛�");
+                              }
+                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
+                              {
+                                 throw Oops.Oh($"绗瑊index}琛孾Id涓婚敭]{_Id}鍊间笉鑳藉皬浜庣瓑浜�0锛�");
+                              }
+                              else
+                              {
+                                 addItem.Id = outId;
+                              }
+                          
+                          }
+                          #endregion
+                          
+
+              
+                details.Add(addItem);
+            }
+              //楠岄噸
+              await CheckExisitForImport(details);
+            
+            return details;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鐗堟湰涓嬭浇鍗曚綅淇℃伅鐨凟xcel瀵煎叆妯℃澘
+        /// </summary>
+        /// <param name="version">妯℃澘鐗堟湰</param>
+        /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        [HttpGet("WmsUnit/downloadExcelTemplate")]
+        public IActionResult DownloadExcelTemplate([FromQuery] string version)
+        {
+            string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsUnit{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(鍗曚綅淇℃伅).xlsx", Encoding.GetEncoding("UTF-8"));
+            return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+        }
+
+        #endregion
+
+        #region 绉佹湁鏂规硶
+
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+        /// </summary>
+        /// <param name="input"></param>
+        /// <param name="isEdit"></param>
+        /// <returns></returns>
+        private async Task CheckExisit( WmsUnit input,bool isEdit=false)
+        {
+           
+
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _wmsUnitRep.AnyAsync(u =>
+                                   u.UnitCode.Equals(input.UnitCode)
+                   ,false);
+          }
+           else//缂栬緫 
+          {
+
+          
+                
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _wmsUnitRep.AnyAsync(u => 
+                                    u.Id != input.Id
+                                    &&u.UnitCode.Equals(input.UnitCode)
+                    ,false);
+               }
+               
+        
+
+            if (isExist) throw Oops.Oh(ErrorCode.E0001);
+       }
+        
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsUnit> inputs)
+        { 
+            //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 if (inputs?.Count <= 0)
+                 {
+                     throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+                 }
+                 //鏁版嵁鏄惁閲嶅
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.UnitCode
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.UnitCode
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var wmsUnit = existExcelItem.Adapt<WmsUnit>();
+                   var item= existExcelItem.Adapt<WmsUnit>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,缂栧彿[{item.UnitCode}]宸插瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _wmsUnitRep.DetachedEntities.FirstOrDefaultAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.UnitCode
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.UnitCode
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var wmsUnit = existExcelItem.Adapt<WmsUnit>();
+                   var item= existExcelItem.Adapt<WmsUnit>();
+                   throw Oops.Oh($"绯荤粺涓�,缂栧彿[{item.UnitCode}]宸插瓨鍦�");
+                 }
+        }
+
+        #endregion
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs
index c0dd5fb..4e6079d 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseInput.cs
@@ -6,7 +6,7 @@
 {    
     
     /// <summary>
-    /// 浠撳簱琛ㄦ煡璇㈠弬鏁�
+    /// 浠撳簱淇℃伅鏌ヨ鍙傛暟
     /// </summary>
     public class WmsWarehouseSearch : PageInputBase
     {
@@ -88,7 +88,7 @@
     }
 
         /// <summary>
-    /// 浠撳簱琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+    /// 浠撳簱淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
     /// </summary>
     public class WmsWarehouseSearchNonPage : PageInputNonPageBase
     {
@@ -170,7 +170,7 @@
     }
 
     /// <summary>
-    /// 浠撳簱琛ㄨ緭鍏ュ弬鏁�
+    /// 浠撳簱淇℃伅杈撳叆鍙傛暟
     /// </summary>
     public class WmsWarehouseInput
     {
@@ -194,6 +194,7 @@
         /// <summary>
         /// 宸ュ巶缂栧彿
         /// </summary>
+        [Required(ErrorMessage = "宸ュ巶缂栧彿涓嶈兘涓虹┖")]
         public virtual string FactoryCode { get; set; }
         
         /// <summary>
@@ -224,8 +225,7 @@
         /// <summary>
         /// 鏄惁绂佺敤
         /// </summary>
-        [Required(ErrorMessage = "鏄惁绂佺敤涓嶈兘涓虹┖")]
-        public virtual bool IsDisabled { get; set; }
+        public virtual bool? IsDisabled { get; set; }
         
         /// <summary>
         /// 澶囨敞
@@ -235,21 +235,21 @@
     }
 
     /// <summary>
-    /// 浠撳簱琛ㄦ柊澧炲弬鏁�
+    /// 浠撳簱淇℃伅鏂板鍙傛暟
     /// </summary>
     public class AddWmsWarehouseInput : WmsWarehouseInput
     {
     }
 
     /// <summary>
-    /// 浠撳簱琛ㄥ垹闄ゅ弬鏁�
+    /// 浠撳簱淇℃伅鍒犻櫎鍙傛暟
     /// </summary>
     public class DeleteWmsWarehouseInput : BaseId
     {
     }
 
     /// <summary>
-    /// 浠撳簱琛ㄦ洿鏂板弬鏁�
+    /// 浠撳簱淇℃伅鏇存柊鍙傛暟
     /// </summary>
     public class UpdateWmsWarehouseInput : WmsWarehouseInput
     {
@@ -262,7 +262,7 @@
     }
 
     /// <summary>
-    /// 浠撳簱琛ㄨ幏鍙栧崟涓弬鏁�
+    /// 浠撳簱淇℃伅鑾峰彇鍗曚釜鍙傛暟
     /// </summary>
     public class QueryeWmsWarehouseInput : BaseId
     {
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs
index 632cf29..1c42ed0 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/Dto/WmsWarehouseOutput.cs
@@ -4,7 +4,7 @@
 namespace Admin.NET.Application
 {
     /// <summary>
-    /// 浠撳簱琛ㄨ緭鍑哄弬鏁�
+    /// 浠撳簱淇℃伅杈撳嚭鍙傛暟
     /// </summary>
     public class WmsWarehouseOutput
     {
@@ -56,7 +56,7 @@
         /// <summary>
         /// 鏄惁绂佺敤
         /// </summary>
-        public bool IsDisabled { get; set; }
+        public bool? IsDisabled { get; set; }
         
         /// <summary>
         /// 澶囨敞
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs
index be2bb77..e9ac41f 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs
@@ -16,7 +16,7 @@
 namespace Admin.NET.Application
 {
     /// <summary>
-    /// 浠撳簱琛ㄦ湇鍔�
+    /// 浠撳簱淇℃伅鏈嶅姟
     /// </summary>
     [ApiDescriptionSettings("WmsBase", Name = "WmsWarehouse", Order = 100)]
     [Route("api")]
@@ -42,7 +42,7 @@
         }
 
         /// <summary>
-        /// 鍒嗛〉鏌ヨ浠撳簱琛�
+        /// 鍒嗛〉鏌ヨ浠撳簱淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -72,10 +72,10 @@
         }
 
         /// <summary>
-        /// 涓嶅垎椤垫煡璇粨搴撹〃鍒楄〃
+        /// 涓嶅垎椤垫煡璇粨搴撲俊鎭垪琛�
         /// </summary>
-        /// <param name="input">浠撳簱琛ㄦ煡璇㈠弬鏁�</param>
-        /// <returns>(浠撳簱琛�)瀹炰緥鍒楄〃</returns>
+        /// <param name="input">浠撳簱淇℃伅鏌ヨ鍙傛暟</param>
+        /// <returns>(浠撳簱淇℃伅)瀹炰緥鍒楄〃</returns>
         [HttpGet("WmsWarehouse/listNonPage")]
         public async Task<List<WmsWarehouseOutput>> ListNonPageAsync([FromQuery] WmsWarehouseSearchNonPage input)
         {
@@ -117,7 +117,7 @@
         }
 
          /// <summary>
-        /// 鑾峰彇浠撳簱琛�
+        /// 鑾峰彇浠撳簱淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -128,7 +128,7 @@
         }
 
         /// <summary>
-        /// 鑾峰彇浠撳簱琛ㄥ垪琛�
+        /// 鑾峰彇浠撳簱淇℃伅鍒楄〃
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -141,7 +141,7 @@
         #region 澧炪�佸垹銆佹敼
 
         /// <summary>
-        /// 澧炲姞浠撳簱琛�
+        /// 澧炲姞浠撳簱淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -159,7 +159,7 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浠撳簱琛�
+        /// 鍒犻櫎浠撳簱淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -172,7 +172,7 @@
         }
 
         /// <summary>
-        /// 鏇存柊浠撳簱琛�
+        /// 鏇存柊浠撳簱淇℃伅
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
@@ -197,7 +197,7 @@
         #region 瀵煎叆
 
         /// <summary>
-        /// Excel妯℃澘瀵煎叆浠撳簱琛ㄥ姛鑳�
+        /// Excel妯℃澘瀵煎叆浠撳簱淇℃伅鍔熻兘
         /// </summary>
         /// <param name="file">Excel妯℃澘鏂囦欢</param>
         /// <returns>瀵煎叆鐨勮褰曟暟</returns>
@@ -302,6 +302,12 @@
                           {
                                 addItem.Address = (string)_Address;
                            }
+                          
+                          if (string.IsNullOrEmpty(_FactoryCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾宸ュ巶缂栧彿]{_FactoryCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
                           if(!string.IsNullOrEmpty(_FactoryCode))
                           {
                                 addItem.FactoryCode = (string)_FactoryCode;
@@ -362,12 +368,6 @@
                           {
                                 addItem.Position = (string)_Position;
                            }
-                          
-                          if (string.IsNullOrEmpty(_IsDisabled))
-                          {
-                            throw Oops.Oh($"绗瑊index}琛孾鏄惁绂佺敤]{_IsDisabled}涓嶈兘涓虹┖锛�");
-                          }
-                          
                           if(!string.IsNullOrEmpty(_IsDisabled))
                           {
                             if(!_IsDisabled.Equals("鏄�") && !_IsDisabled.Equals("鍚�"))
@@ -414,7 +414,7 @@
         }
 
         /// <summary>
-        /// 鏍规嵁鐗堟湰涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘
+        /// 鏍规嵁鐗堟湰涓嬭浇浠撳簱淇℃伅鐨凟xcel瀵煎叆妯℃澘
         /// </summary>
         /// <param name="version">妯℃澘鐗堟湰</param>
         /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
@@ -422,7 +422,7 @@
         public IActionResult DownloadExcelTemplate([FromQuery] string version)
         {
             string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsWarehouse{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
-            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(浠撳簱琛�).xlsx", Encoding.GetEncoding("UTF-8"));
+            var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(浠撳簱淇℃伅).xlsx", Encoding.GetEncoding("UTF-8"));
             return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
         }
 
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs
index 7804b78..22631da 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/MaterialSorting/Dto/MaterialSortingServiceOutput.cs
@@ -1,204 +1,204 @@
-锘縰sing Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Admin.NET.Core;
+锘�//using Microsoft.EntityFrameworkCore;
+//using System;
+//using System.Collections.Generic;
+//using System.ComponentModel.DataAnnotations;
+//using System.Linq;
+//using System.Text;
+//using System.Threading.Tasks;
+//using Admin.NET.Core;
 
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 鑾峰彇鎵樼洏鐗╂枡鍒嗘嫞鍙傛暟
-    /// </summary>
-    public class GetSortInfoOutput
-    {
-        /// <summary>
-        /// 瀹瑰櫒
-        /// </summary>
-        public WmsContainerDto WmsContainer { get; set; }
+//namespace Admin.NET.Application
+//{
+//    /// <summary>
+//    /// 鑾峰彇鎵樼洏鐗╂枡鍒嗘嫞鍙傛暟
+//    /// </summary>
+//    public class GetSortInfoOutput
+//    {
+//        /// <summary>
+//        /// 瀹瑰櫒
+//        /// </summary>
+//        public WmsContainerDto WmsContainer { get; set; }
 
-        /// <summary>
-        /// 鍒嗘嫞淇℃伅
-        /// </summary>
-        public List<WmsSortOrder> WmsSortOrderList { get; set; }
-    }
+//        /// <summary>
+//        /// 鍒嗘嫞淇℃伅
+//        /// </summary>
+//        public List<WmsSortOrder> WmsSortOrderList { get; set; }
+//    }
 
-    /// <summary>
-    /// 鍒嗛〉鑾峰彇鍒嗘嫞鍗�
-    /// </summary>
-    public class SortPdaPageOutput : PageInputBase
-    {
-        /// <summary>
-        /// 鍗曟嵁澶х被
-        /// </summary>
-        public long OrderLargeCategory { get; set; }
+//    /// <summary>
+//    /// 鍒嗛〉鑾峰彇鍒嗘嫞鍗�
+//    /// </summary>
+//    public class SortPdaPageOutput : PageInputBase
+//    {
+//        /// <summary>
+//        /// 鍗曟嵁澶х被
+//        /// </summary>
+//        public long OrderLargeCategory { get; set; }
 
-        /// <summary>
-        /// 鍗曟嵁灏忕被
-        /// </summary>
-        public long OrderSubclass { get; set; }
+//        /// <summary>
+//        /// 鍗曟嵁灏忕被
+//        /// </summary>
+//        public long OrderSubclass { get; set; }
 
-        /// <summary>
-        /// 浜嬪姟绫诲瀷
-        /// </summary>
-        public string MoveType { get; set; }
+//        /// <summary>
+//        /// 浜嬪姟绫诲瀷
+//        /// </summary>
+//        public string MoveType { get; set; }
 
-        /// <summary>
-        /// 涓婁綅绯荤粺鍗曟嵁鍞竴璇嗗埆鐮�
-        /// </summary>
-        public long SOID { get; set; }
+//        /// <summary>
+//        /// 涓婁綅绯荤粺鍗曟嵁鍞竴璇嗗埆鐮�
+//        /// </summary>
+//        public long SOID { get; set; }
 
-        /// <summary>
-        /// 鍗曟嵁缂栧彿
-        /// </summary>
-        public string NO { get; set; }
+//        /// <summary>
+//        /// 鍗曟嵁缂栧彿
+//        /// </summary>
+//        public string NO { get; set; }
 
-        /// <summary>
-        /// 棰嗘枡鍗曠敵璇锋棩鏈�
-        /// </summary>
-        public DateTimeOffset Billdate { get; set; }
+//        /// <summary>
+//        /// 棰嗘枡鍗曠敵璇锋棩鏈�
+//        /// </summary>
+//        public DateTimeOffset Billdate { get; set; }
 
-        /// <summary>
-        /// 棰嗙敤椤圭洰鍙�
-        /// </summary>
-        public string WBSElementcode { get; set; }
+//        /// <summary>
+//        /// 棰嗙敤椤圭洰鍙�
+//        /// </summary>
+//        public string WBSElementcode { get; set; }
 
-        /// <summary>
-        /// 棰嗘枡閮ㄩ棬
-        /// </summary>
-        public string BenefitingDepartcode { get; set; }
+//        /// <summary>
+//        /// 棰嗘枡閮ㄩ棬
+//        /// </summary>
+//        public string BenefitingDepartcode { get; set; }
 
-        /// <summary>
-        /// 鍙楃泭閮ㄩ棬
-        /// </summary>
-        public string CostCenterID { get; set; }
+//        /// <summary>
+//        /// 鍙楃泭閮ㄩ棬
+//        /// </summary>
+//        public string CostCenterID { get; set; }
 
-        /// <summary>
-        /// 瀹㈡埛
-        /// </summary>
-        public string FI_Client_Analysis_H { get; set; }
+//        /// <summary>
+//        /// 瀹㈡埛
+//        /// </summary>
+//        public string FI_Client_Analysis_H { get; set; }
 
-        /// <summary>
-        /// 鏄惁鍏徃闂翠氦鏄�
-        /// </summary>
-        public long IsInnerCompany { get; set; }
+//        /// <summary>
+//        /// 鏄惁鍏徃闂翠氦鏄�
+//        /// </summary>
+//        public long IsInnerCompany { get; set; }
 
-        /// <summary>
-        /// 棰嗘枡浜�
-        /// </summary>
-        public string PickerID { get; set; }
+//        /// <summary>
+//        /// 棰嗘枡浜�
+//        /// </summary>
+//        public string PickerID { get; set; }
 
-        /// <summary>
-        /// 浠撳偍涓績
-        /// </summary>
-        public string WarehouseCentername { get; set; }
+//        /// <summary>
+//        /// 浠撳偍涓績
+//        /// </summary>
+//        public string WarehouseCentername { get; set; }
 
-        /// <summary>
-        /// 鍏徃
-        /// </summary>
-        public string Companyname { get; set; }
+//        /// <summary>
+//        /// 鍏徃
+//        /// </summary>
+//        public string Companyname { get; set; }
 
-        /// <summary>
-        /// 鏂藉伐闃�
-        /// </summary>
-        public string ConstructionTeamID { get; set; }
+//        /// <summary>
+//        /// 鏂藉伐闃�
+//        /// </summary>
+//        public string ConstructionTeamID { get; set; }
 
-        /// <summary>
-        /// 鍗曟嵁鐘舵��
-        /// </summary>
-        public Admin.NET.Core.OrderStatusEnum OrderStatus { get; set; }
+//        /// <summary>
+//        /// 鍗曟嵁鐘舵��
+//        /// </summary>
+//        public Admin.NET.Core.OrderStatusEnum OrderStatus { get; set; }
 
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
+//        /// <summary>
+//        /// Id涓婚敭
+//        /// </summary>
+//        public long Id { get; set; }
 
-        /// <summary>
-        /// 鏃堕棿
-        /// </summary>
-        public DateTimeOffset? CreatedTime { get; set; }
-    }
+//        /// <summary>
+//        /// 鏃堕棿
+//        /// </summary>
+//        public DateTimeOffset? CreatedTime { get; set; }
+//    }
 
-    /// <summary>
-    /// 鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟
-    /// </summary>
-    public class SortPdaDetailPageOutput
-    {
-        /// <summary>
-        /// 鏉ユ簮鍗曞彿
-        /// </summary>
-        public string OrderNo { get; set; }
+//    /// <summary>
+//    /// 鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟
+//    /// </summary>
+//    public class SortPdaDetailPageOutput
+//    {
+//        /// <summary>
+//        /// 鏉ユ簮鍗曞彿
+//        /// </summary>
+//        public string OrderNo { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡缂栧彿
-        /// </summary>
-        public string Materialcode { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡缂栧彿
+//        /// </summary>
+//        public string Materialcode { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string Materialname { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡鍚嶇О
+//        /// </summary>
+//        public string Materialname { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public long OrderDetailID { get; set; }
+//        /// <summary>
+//        /// 
+//        /// </summary>
+//        public long OrderDetailID { get; set; }
 
-        /// <summary>
-        /// 鍒嗘嫞缁勭洏鍗曞彿
-        /// </summary>
-        public string ContainerOrderNo { get; set; }
+//        /// <summary>
+//        /// 鍒嗘嫞缁勭洏鍗曞彿
+//        /// </summary>
+//        public string ContainerOrderNo { get; set; }
 
-        /// <summary>
-        /// 椤圭洰缂栧彿
-        /// </summary>
-        public string ProjectCode { get; set; }
+//        /// <summary>
+//        /// 椤圭洰缂栧彿
+//        /// </summary>
+//        public string ProjectCode { get; set; }
 
-        /// <summary>
-        /// TA鍙�
-        /// </summary>
-        public string TACode { get; set; }
+//        /// <summary>
+//        /// TA鍙�
+//        /// </summary>
+//        public string TACode { get; set; }
 
-        /// <summary>
-        /// 鍒嗘鍙�
-        /// </summary>
-        public string PartCode { get; set; }
+//        /// <summary>
+//        /// 鍒嗘鍙�
+//        /// </summary>
+//        public string PartCode { get; set; }
 
-        /// <summary>
-        /// 搴撲綅缂栫爜
-        /// </summary>
-        public string PlaceCode { get; set; }
+//        /// <summary>
+//        /// 搴撲綅缂栫爜
+//        /// </summary>
+//        public string PlaceCode { get; set; }
 
-        /// <summary>
-        /// 瀹瑰櫒缂栧彿
-        /// </summary>
-        public string ContainerCode { get; set; }
+//        /// <summary>
+//        /// 瀹瑰櫒缂栧彿
+//        /// </summary>
+//        public string ContainerCode { get; set; }
 
-        /// <summary>
-        /// 鍒嗘嫞鏁�
-        /// </summary>
-        public decimal SortQuantity { get; set; }
+//        /// <summary>
+//        /// 鍒嗘嫞鏁�
+//        /// </summary>
+//        public decimal SortQuantity { get; set; }
 
-        /// <summary>
-        /// 瀹為檯鍒嗘嫞鏁�
-        /// </summary>
-        public decimal ActualQuantity { get; set; }
+//        /// <summary>
+//        /// 瀹為檯鍒嗘嫞鏁�
+//        /// </summary>
+//        public decimal ActualQuantity { get; set; }
 
-        /// <summary>
-        /// 澶囨敞
-        /// </summary>
-        public string Remarks { get; set; }
+//        /// <summary>
+//        /// 澶囨敞
+//        /// </summary>
+//        public string Remarks { get; set; }
 
-        /// <summary>
-        /// 鐘舵��-鏈垎鎷1銆佸垎鎷e畬鎴恄2
-        /// </summary>
-        public Admin.NET.Core.SortStatusEnum SortStatus { get; set; }
+//        /// <summary>
+//        /// 鐘舵��-鏈垎鎷1銆佸垎鎷e畬鎴恄2
+//        /// </summary>
+//        public Admin.NET.Core.SortStatusEnum SortStatus { get; set; }
 
-        /// <summary>
-        /// Id涓婚敭
-        /// </summary>
-        public long Id { get; set; }
-    }
-}
+//        /// <summary>
+//        /// Id涓婚敭
+//        /// </summary>
+//        public long Id { get; set; }
+//    }
+//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs
index 15c58c4..1c2a619 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsInWarehouse/Dto/WmsInWarehouseeOutput.cs
@@ -1,154 +1,154 @@
-锘縰sing Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Admin.NET.Core;
+锘�//using Microsoft.EntityFrameworkCore;
+//using System;
+//using System.Collections.Generic;
+//using System.ComponentModel.DataAnnotations;
+//using System.Linq;
+//using System.Text;
+//using System.Threading.Tasks;
+//using Admin.NET.Core;
 
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 鑾峰彇鎵樼洏鍏ュ弬
-    /// </summary>
-    public class GetContainerOutput
-    {
-        /// <summary>
-        /// 鎵樼洏鍙�
-        /// </summary>
-        [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")]
-        public string ContainerCode { get; set; }
+//namespace Admin.NET.Application
+//{
+//    /// <summary>
+//    /// 鑾峰彇鎵樼洏鍏ュ弬
+//    /// </summary>
+//    public class GetContainerOutput
+//    {
+//        /// <summary>
+//        /// 鎵樼洏鍙�
+//        /// </summary>
+//        [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")]
+//        public string ContainerCode { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public WmsContainerDto WmsContainer { get; set; }
+//        /// <summary>
+//        /// 
+//        /// </summary>
+//        public WmsContainerDto WmsContainer { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡淇℃伅
-        /// </summary>
-        public List<WmsMaterialContainer> WmsMaterials { get; set; }
-    }
+//        /// <summary>
+//        /// 鐗╂枡淇℃伅
+//        /// </summary>
+//        public List<WmsMaterialContainer> WmsMaterials { get; set; }
+//    }
 
-    /// <summary>
-    /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁�
-    /// </summary>
-    public class GroupDiskOutput
-    {
-        /// <summary>
-        /// 鎵樼洏
-        /// </summary>
-        public string Containercode { get; set; }
+//    /// <summary>
+//    /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁�
+//    /// </summary>
+//    public class GroupDiskOutput
+//    {
+//        /// <summary>
+//        /// 鎵樼洏
+//        /// </summary>
+//        public string Containercode { get; set; }
 
-        /// <summary>
-        /// 缁勭洏鍗曟嵁
-        /// </summary>
-        public string OrderNo { get; set; }
-    }
-    /// <summary>
-    /// 鐗╂枡杩斿洖鍙傛暟
-    /// </summary>
-    public class PadGetMaterialOutput
-    {
-        /// <summary>
-        /// Id  
-        /// </summary>
-        public long Id { get; set; }
+//        /// <summary>
+//        /// 缁勭洏鍗曟嵁
+//        /// </summary>
+//        public string OrderNo { get; set; }
+//    }
+//    /// <summary>
+//    /// 鐗╂枡杩斿洖鍙傛暟
+//    /// </summary>
+//    public class PadGetMaterialOutput
+//    {
+//        /// <summary>
+//        /// Id  
+//        /// </summary>
+//        public long Id { get; set; }
 
-        /// <summary>
-        /// 鍗曟嵁Id  
-        /// </summary>
-        public long OrderId { get; set; }
+//        /// <summary>
+//        /// 鍗曟嵁Id  
+//        /// </summary>
+//        public long OrderId { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string Materialname { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡鍚嶇О
+//        /// </summary>
+//        public string Materialname { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡缂栧彿
-        /// </summary>
-        public string Materialcode { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡缂栧彿
+//        /// </summary>
+//        public string Materialcode { get; set; }
 
-        /// <summary>
-        /// 鍩烘湰鍗曚綅    
-        /// </summary>
-        public string Unit { get; set; }
+//        /// <summary>
+//        /// 鍩烘湰鍗曚綅    
+//        /// </summary>
+//        public string Unit { get; set; }
 
-        /// <summary>
-        /// 鏁伴噺
-        /// </summary>
-        public decimal Qty { get; set; }
+//        /// <summary>
+//        /// 鏁伴噺
+//        /// </summary>
+//        public decimal Qty { get; set; }
 
-        /// <summary>
-        /// 鍗曟牴闀垮害 
-        /// </summary>
-        public decimal SingleLength { get; set; }
+//        /// <summary>
+//        /// 鍗曟牴闀垮害 
+//        /// </summary>
+//        public decimal SingleLength { get; set; }
 
-        /// <summary>
-        /// 鐞嗚閲嶉噺    
-        /// </summary>
-        public decimal TheoreticalWeight { get; set; }
+//        /// <summary>
+//        /// 鐞嗚閲嶉噺    
+//        /// </summary>
+//        public decimal TheoreticalWeight { get; set; }
 
-        /// <summary>
-        /// 涓嶅惈绋庡崟浠�    
-        /// </summary>
-        public decimal Price { get; set; }
+//        /// <summary>
+//        /// 涓嶅惈绋庡崟浠�    
+//        /// </summary>
+//        public decimal Price { get; set; }
 
-        /// <summary>
-        /// 鎴愭湰閲戦    
-        /// </summary>
-        public decimal SumPrice { get; set; }
+//        /// <summary>
+//        /// 鎴愭湰閲戦    
+//        /// </summary>
+//        public decimal SumPrice { get; set; }
 
-        /// <summary>
-        /// 椤圭洰缂栧彿    
-        /// </summary>
-        public string ProjectCode { get; set; }
+//        /// <summary>
+//        /// 椤圭洰缂栧彿    
+//        /// </summary>
+//        public string ProjectCode { get; set; }
 
-        /// <summary>
-        /// 鍚堝悓缂栧彿
-        /// </summary>
-        public string ContractCode { get; set; }
+//        /// <summary>
+//        /// 鍚堝悓缂栧彿
+//        /// </summary>
+//        public string ContractCode { get; set; }
 
-        /// <summary>
-        /// TA鍙�
-        /// </summary>
-        public string TACode { get; set; }
+//        /// <summary>
+//        /// TA鍙�
+//        /// </summary>
+//        public string TACode { get; set; }
 
-        /// <summary>
-        /// 鎶ュ叧鍝佸悕
-        /// </summary>
-        public string TradeName { get; set; }
+//        /// <summary>
+//        /// 鎶ュ叧鍝佸悕
+//        /// </summary>
+//        public string TradeName { get; set; }
 
-        /// <summary>
-        /// 鎶ュ叧椤瑰彿
-        /// </summary>
-        public string ItemNo { get; set; }
+//        /// <summary>
+//        /// 鎶ュ叧椤瑰彿
+//        /// </summary>
+//        public string ItemNo { get; set; }
 
-        /// <summary>
-        /// 鎶ュ叧鍗曚綅
-        /// </summary>
-        public string CustomsUnitName { get; set; }
+//        /// <summary>
+//        /// 鎶ュ叧鍗曚綅
+//        /// </summary>
+//        public string CustomsUnitName { get; set; }
 
-        /// <summary>
-        /// 鎶ュ叧鏁伴噺   
-        /// </summary>
-        public decimal CustomsNum { get; set; }
+//        /// <summary>
+//        /// 鎶ュ叧鏁伴噺   
+//        /// </summary>
+//        public decimal CustomsNum { get; set; }
 
-        /// <summary>
-        /// 鎶ュ叧閲戦 
-        /// </summary>
-        public decimal CustomsPrices { get; set; }
+//        /// <summary>
+//        /// 鎶ュ叧閲戦 
+//        /// </summary>
+//        public decimal CustomsPrices { get; set; }
 
-        /// <summary>
-        /// 鐗规畩瑕佹眰
-        /// </summary>
-        public string SpecialNeeds { get; set; }
+//        /// <summary>
+//        /// 鐗规畩瑕佹眰
+//        /// </summary>
+//        public string SpecialNeeds { get; set; }
 
-        /// <summary>
-        /// 鍗曟嵁鐘舵��
-        /// </summary>
-        public OrderDetailsStatusEnum OrderStatus { get; set; }
-    }
-}
+//        /// <summary>
+//        /// 鍗曟嵁鐘舵��
+//        /// </summary>
+//        public OrderDetailsStatusEnum OrderStatus { get; set; }
+//    }
+//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs
index 67b0754..2074a63 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsPda/WmsStockReturnWarehouse/Dto/WmsStockReturnWarehouseOutput.cs
@@ -1,119 +1,119 @@
-锘縰sing Microsoft.EntityFrameworkCore;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Admin.NET.Core;
+锘�//using Microsoft.EntityFrameworkCore;
+//using System;
+//using System.Collections.Generic;
+//using System.ComponentModel.DataAnnotations;
+//using System.Linq;
+//using System.Text;
+//using System.Threading.Tasks;
+//using Admin.NET.Core;
 
-namespace Admin.NET.Application
-{
-    /// <summary>
-    /// 鑾峰彇鎵樼洏鍏ュ弬
-    /// </summary>
-    public class StockReturnGetContainerOutput
-    {
-        /// <summary>
-        /// 鎵樼洏鍙�
-        /// </summary>
-        [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")]
-        public string ContainerCode { get; set; }
+//namespace Admin.NET.Application
+//{
+//    /// <summary>
+//    /// 鑾峰彇鎵樼洏鍏ュ弬
+//    /// </summary>
+//    public class StockReturnGetContainerOutput
+//    {
+//        /// <summary>
+//        /// 鎵樼洏鍙�
+//        /// </summary>
+//        [Required(ErrorMessage = "鎵樼洏鍙蜂笉鑳戒负绌�")]
+//        public string ContainerCode { get; set; }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        public WmsContainerDto WmsContainer { get; set; }
+//        /// <summary>
+//        /// 
+//        /// </summary>
+//        public WmsContainerDto WmsContainer { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡淇℃伅
-        /// </summary>
-        public List<WmsMaterialContainer> WmsMaterials { get; set; }
-    }
+//        /// <summary>
+//        /// 鐗╂枡淇℃伅
+//        /// </summary>
+//        public List<WmsMaterialContainer> WmsMaterials { get; set; }
+//    }
 
-    /// <summary>
-    /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁�
-    /// </summary>
-    public class StockReturnGroupDiskOutput
-    {
-        /// <summary>
-        /// 鎵樼洏
-        /// </summary>
-        public string Containercode { get; set; }
+//    /// <summary>
+//    /// 浠呮敹璐э紙缁勭洏锛夋垚鍔熻緭鍑哄弬鏁�
+//    /// </summary>
+//    public class StockReturnGroupDiskOutput
+//    {
+//        /// <summary>
+//        /// 鎵樼洏
+//        /// </summary>
+//        public string Containercode { get; set; }
 
-        /// <summary>
-        /// 缁勭洏鍗曟嵁
-        /// </summary>
-        public string OrderNo { get; set; }
-    }
-    /// <summary>
-    /// 鐗╂枡杩斿洖鍙傛暟
-    /// </summary>
-    public class StockReturnPadGetMaterialOutput
-    {
-        /// <summary>
-        /// 鍗曟嵁Id  
-        /// </summary>
-        public long OrderId { get; set; }
+//        /// <summary>
+//        /// 缁勭洏鍗曟嵁
+//        /// </summary>
+//        public string OrderNo { get; set; }
+//    }
+//    /// <summary>
+//    /// 鐗╂枡杩斿洖鍙傛暟
+//    /// </summary>
+//    public class StockReturnPadGetMaterialOutput
+//    {
+//        /// <summary>
+//        /// 鍗曟嵁Id  
+//        /// </summary>
+//        public long OrderId { get; set; }
 
-        /// <summary>
-        /// 涓婁綅绯荤粺鍗曟嵁鏄庣粏鍞竴璇嗗埆鐮�
-        /// </summary>
-        public long OID { get; set; }
+//        /// <summary>
+//        /// 涓婁綅绯荤粺鍗曟嵁鏄庣粏鍞竴璇嗗埆鐮�
+//        /// </summary>
+//        public long OID { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡缂栧彿
-        /// </summary>
-        public string Materialcode { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡缂栧彿
+//        /// </summary>
+//        public string Materialcode { get; set; }
 
-        /// <summary>
-        /// 鐗╂枡鍚嶇О
-        /// </summary>
-        public string Materialname { get; set; }
+//        /// <summary>
+//        /// 鐗╂枡鍚嶇О
+//        /// </summary>
+//        public string Materialname { get; set; }
 
-        /// <summary>
-        /// 鍩烘湰鍗曚綅    
-        /// </summary>
-        public string Unit { get; set; }
+//        /// <summary>
+//        /// 鍩烘湰鍗曚綅    
+//        /// </summary>
+//        public string Unit { get; set; }
 
-        /// <summary>
-        /// 鏁伴噺
-        /// </summary>
-        public decimal Qty { get; set; }
+//        /// <summary>
+//        /// 鏁伴噺
+//        /// </summary>
+//        public decimal Qty { get; set; }
 
-        /// <summary>
-        /// 鍗曟牴闀垮害 
-        /// </summary>
-        public decimal Length { get; set; }
+//        /// <summary>
+//        /// 鍗曟牴闀垮害 
+//        /// </summary>
+//        public decimal Length { get; set; }
 
-        /// <summary>
-        /// 浠舵暟    
-        /// </summary>
-        public decimal Number { get; set; }
+//        /// <summary>
+//        /// 浠舵暟    
+//        /// </summary>
+//        public decimal Number { get; set; }
 
-        /// <summary>
-        /// SCM鎵规鍙�    
-        /// </summary>
-        public string Batchno_SCM { get; set; }
+//        /// <summary>
+//        /// SCM鎵规鍙�    
+//        /// </summary>
+//        public string Batchno_SCM { get; set; }
 
-        /// <summary>
-        /// WMS鎵规鍙�    
-        /// </summary>
-        public string Batchno_WMS { get; set; }
+//        /// <summary>
+//        /// WMS鎵规鍙�    
+//        /// </summary>
+//        public string Batchno_WMS { get; set; }
 
-        /// <summary>
-        /// 椤圭洰缂栧彿    
-        /// </summary>
-        public string ProjectCode { get; set; }
+//        /// <summary>
+//        /// 椤圭洰缂栧彿    
+//        /// </summary>
+//        public string ProjectCode { get; set; }
 
-        /// <summary>
-        /// TA鍙�
-        /// </summary>
-        public string TACode { get; set; }
+//        /// <summary>
+//        /// TA鍙�
+//        /// </summary>
+//        public string TACode { get; set; }
 
-        /// <summary>
-        /// 鍒嗘鍙�
-        /// </summary>
-        public string PartCode { get; set; }
-    }
-}
+//        /// <summary>
+//        /// 鍒嗘鍙�
+//        /// </summary>
+//        public string PartCode { get; set; }
+//    }
+//}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsMaterialUnit.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsUnit.cs
old mode 100755
new mode 100644
similarity index 100%
rename from iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsMaterialUnit.cs
rename to iWare_RawMaterialWarehouse_Wms/Admin.NET.Core/Entity/WmsBase/WmsUnit.cs
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx
new file mode 100644
index 0000000..1c1cb2d
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsAreaImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx
new file mode 100644
index 0000000..9948eb5
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx
index 743ed8a..281db10 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerPackagingImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx
new file mode 100644
index 0000000..172ab94
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsContainerTypeImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx
index 238ea9a..e7be33b 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsFactoryImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx
new file mode 100644
index 0000000..188e34a
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsPlaceImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx
new file mode 100644
index 0000000..719af73
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsUnitImport.xlsx
Binary files differ
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx
index 3b27946..624ba8d 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsWarehouseImport.xlsx
Binary files differ

--
Gitblit v1.9.3