From d98f5d51bed1bfd00390b9320ba22a39c02bf7a8 Mon Sep 17 00:00:00 2001
From: payne <bzrlw2012@163.com>
Date: 周三, 24 4月 2024 11:54:05 +0800
Subject: [PATCH] 新增物料类型

---
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/excelForm.vue                               |  181 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/WmsMaterialTypeService.cs    |  406 +++++
 iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsMaterialTypeManage.js                              |  114 +
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialTypeImport.xlsx           |    0 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/addForm.vue                                 |   94 +
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Map/WmsMaterialTypeMapper.cs |   18 
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/editForm.vue                                |  111 +
 iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/index.vue                                   |  435 ++++++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeInput.cs  |  165 ++
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeOutput.cs |   57 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/IWmsMaterialTypeService.cs   |   22 
 iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml                                    | 2583 ++++++++++++++++++++++++++++++++++--
 12 files changed, 3,996 insertions(+), 190 deletions(-)

diff --git a/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsMaterialTypeManage.js b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsMaterialTypeManage.js
new file mode 100644
index 0000000..d53e60a
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsMaterialTypeManage.js
@@ -0,0 +1,114 @@
+锘縤mport { axios } from '@/utils/request'
+
+/**
+ * 鏌ヨ鐗╂枡绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypePage (parameter) {
+  return axios({
+    url: '/WmsMaterialType/page',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 鐗╂枡绫诲瀷鍒楄〃
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeList (parameter) {
+  return axios({
+    url: '/WmsMaterialType/list',
+    method: 'get',
+    params: parameter
+  })
+}
+
+/**
+ * 娣诲姞鐗╂枡绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeAdd (parameter) {
+  return axios({
+    url: '/WmsMaterialType/add',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 缂栬緫鐗╂枡绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeEdit (parameter) {
+  return axios({
+    url: '/WmsMaterialType/edit',
+    method: 'post',
+    data: parameter
+  })
+}
+
+/**
+ * 鍒犻櫎鐗╂枡绫诲瀷
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeDelete (parameter) {
+  return axios({
+    url: '/WmsMaterialType/delete',
+    method: 'post',
+    data: parameter
+  })
+}
+
+
+/**
+ * 瀵煎嚭鐗╂枡绫诲瀷鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeToExcel (parameter) {
+  return axios({
+    url: '/WmsMaterialType/toExcel',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+/**
+ * 瀵煎叆鐗╂枡绫诲瀷鐨凟xcel鏂囦欢
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeImportExcel (data, parameter) {
+  return axios({
+    url: '/WmsMaterialType/importExcel',
+    method: 'post',
+    data: data,
+    params: parameter
+
+  })
+}
+
+
+/**
+ * 涓嬭浇鐗╂枡绫诲瀷鐨凟xcel瀵煎叆妯℃澘
+ *
+ * @author liuwq
+ */
+export function WmsMaterialTypeDownloadExcelTemplate(parameter) {
+  return axios({
+    url: '/WmsMaterialType/downloadExcelTemplate',
+    method: 'get',
+    params: parameter,
+    responseType: 'blob'
+  })
+}
+
+
+
diff --git a/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/addForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/addForm.vue
new file mode 100644
index 0000000..e62f11c
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/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="['materialTypeCode', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬫弿杩�" v-decorator="['materialTypeDescr']" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['materialTypeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" />
+        </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 {
+  WmsMaterialTypeAdd
+  } from '@/api/modular/main/WmsBase/WmsMaterialTypeManage'
+  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])
+              }
+            }
+            WmsMaterialTypeAdd(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/WmsMaterialType/editForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/editForm.vue
new file mode 100644
index 0000000..dde46c9
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/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="['materialTypeCode', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬬紪鍙凤紒'}]}]" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鎻忚堪" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬫弿杩�" v-decorator="['materialTypeDescr']" />
+        </a-form-item>
+        <a-form-item label="绫诲瀷鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
+          <a-input placeholder="璇疯緭鍏ョ被鍨嬪悕绉�" v-decorator="['materialTypeName', {rules: [{required: true, message: '璇疯緭鍏ョ被鍨嬪悕绉帮紒'}]}]" />
+        </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 {
+  WmsMaterialTypeEdit
+  } from '@/api/modular/main/WmsBase/WmsMaterialTypeManage'
+  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,
+              materialTypeCode: record.materialTypeCode,
+              materialTypeDescr: record.materialTypeDescr,
+              materialTypeName: record.materialTypeName,
+              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]
+              }
+            }
+            WmsMaterialTypeEdit(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/WmsMaterialType/excelForm.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/excelForm.vue
new file mode 100644
index 0000000..e701366
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/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="wmsMaterialTypeDownloadExcelTemplate" 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 { WmsMaterialTypeImportExcel, WmsMaterialTypeDownloadExcelTemplate} from '@/api/modular/main/WmsBase/WmsMaterialTypeManage'
+  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("wmsMaterialTypeDownloadExcelTemplate")
+  window.downloadFile = this.wmsMaterialTypeDownloadExcelTemplate;
+  this.getTable();
+  },
+  showDemand() {
+  this.detailed = !this.detailed;
+  },
+  customRequest(document) {
+  this.uploadFile = document
+  },
+  getTable() {
+  sysExcelTemplateGetColumnList({className: "WmsMaterialType"}).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)
+  WmsMaterialTypeImportExcel(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
+  },
+  wmsMaterialTypeDownloadExcelTemplate() {
+  WmsMaterialTypeDownloadExcelTemplate({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/WmsMaterialType/index.vue b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/index.vue
new file mode 100644
index 0000000..e4f3c98
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/index.vue
@@ -0,0 +1,435 @@
+锘�<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('WmsMaterialType:page')">
+        <a-form layout="inline">
+          <a-row :gutter="48">
+            <a-col :md="8" :sm="24">
+              <a-form-item label="绫诲瀷缂栧彿">
+                <a-input v-model="queryParam.materialTypeCode" allow-clear placeholder="璇疯緭鍏ョ被鍨嬬紪鍙�"/>
+              </a-form-item>
+            </a-col>
+            <a-col :md="8" :sm="24">
+              <a-form-item label="绫诲瀷鎻忚堪">
+                <a-input v-model="queryParam.materialTypeDescr" 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.materialTypeName" 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-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('WmsMaterialType: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('WmsMaterialType:exportExcel')" icon="download" @click="WmsMaterialTypeToExcel()">
+            瀵煎嚭
+          </a-button>
+			<a-button type="primary" v-if="hasPerm('WmsMaterialType: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('WmsMaterialType:edit')" @click="$refs.editForm.edit(record)">缂栬緫</a>
+          <a-divider type="vertical" v-if="hasPerm('WmsMaterialType:edit') & hasPerm('WmsMaterialType:delete')"/>
+          <a-popconfirm v-if="hasPerm('WmsMaterialType:delete')" placement="topRight" title="纭鍒犻櫎锛�" @confirm="() => WmsMaterialTypeDelete(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 { WmsMaterialTypePage, WmsMaterialTypeDelete, WmsMaterialTypeToExcel } from '@/api/modular/main/WmsBase/WmsMaterialTypeManage'
+	//鑷畾涔塼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: 'materialTypeCode'
+	},
+	{
+	title: '绫诲瀷鎻忚堪',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'materialTypeDescr'
+	},
+	{
+	title: '绫诲瀷鍚嶇О',
+	align: 'center',
+	customHeaderCell: () => {
+	return {
+	 style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	 }
+	 }
+	},
+	customCell: () => {
+	return {
+	style: {
+	'min-width': '120px'//鏈�灏忓垪瀹借缃�
+	}
+	}
+	},
+	sorter: true,
+	dataIndex: 'materialTypeName'
+	},
+	{
+	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 WmsMaterialTypePage(Object.assign(parameter, this.queryParam)).then((res) => {
+	return res.data
+	})
+	},
+	selectedRowKeys: [],
+	selectedRows: []
+	}
+	},
+	created () {
+	if (this.hasPerm('WmsMaterialType:edit') || this.hasPerm('WmsMaterialType: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: {
+	/**
+	* 鏌ヨ鍙傛暟缁勮
+	*/
+	switchingDate () {
+	const obj = JSON.parse(JSON.stringify(this.queryParam))
+	return obj
+	},
+	WmsMaterialTypeDelete (record) {
+	WmsMaterialTypeDelete(record).then((res) => {
+	if (res.success) {
+	this.$message.success('鍒犻櫎鎴愬姛')
+	this.$refs.table.refresh()
+	} else {
+	this.$message.error('鍒犻櫎澶辫触') // + res.message
+	}
+	})
+	},
+
+
+	WmsMaterialTypeToExcel() {
+	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
+	}
+	})
+	}
+	WmsMaterialTypePage(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() //璁剧疆涓昏〃琛ㄦ牸楂樺害
+	},
+	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_Wms/Admin.NET.Application/Admin.NET.Application.xml b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
index 64481ff..e7834a4 100644
--- a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
@@ -1190,87 +1190,6 @@
             </summary>
             <param name="config"></param>
         </member>
-        <member name="T:Admin.NET.Application.WmsContainerService">
-            <summary>
-            鎵樼洏淇℃伅鏈嶅姟
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.WmsContainerService.#ctor(Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.SysDictType,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.SysDictData,Furion.DatabaseAccessor.MasterDbContextLocator},Admin.NET.Application.ISysExcelTemplateService)">
-            <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.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.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.FromExcelAsync(Microsoft.AspNetCore.Http.IFormFile,Admin.NET.Core.ImportExcelType)">
-            <summary>
-            Excel妯℃澘瀵煎叆鎵樼洏淇℃伅鍔熻兘
-            </summary>
-            <param name="file">Excel妯℃澘鏂囦欢</param>
-            <param name="importExcelType">Excel瀵煎叆鏂瑰紡</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.ToExcelAsync(Admin.NET.Application.WmsContainerSearchNonPage)">
-            <summary>
-            鏍规嵁鎵樼洏淇℃伅鏌ヨ鍙傛暟瀵煎嚭Excel
-            </summary>
-            <param name="input">鎵樼洏淇℃伅鏌ヨ鍙傛暟</param>
-            <returns>瀵煎嚭鐨凟xcel鏂囦欢</returns>
-        </member>
         <member name="T:Admin.NET.Application.WmsMerchantinfoDto">
             <summary>
             瀹㈠晢淇℃伅琛ㄨ緭鍑哄弬鏁�
@@ -15557,6 +15476,989 @@
             淇敼鑰呭悕绉�
             </summary>
         </member>
+        <member name="T:Admin.NET.Application.WmsContainerPackagingSearch">
+            <summary>
+            瀹瑰櫒鍏崇郴鍩虹琛ㄦ煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.ContainerTypeId">
+            <summary>
+            瀹瑰櫒绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.ContainerTypeName">
+            <summary>
+            瀹瑰櫒绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.MaterialTypeId">
+            <summary>
+            鐗╂枡绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.MaterialTypeCode">
+            <summary>
+            鐗╂枡绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.MaterialTypeName">
+            <summary>
+            鐗╂枡绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.BoxQty">
+            <summary>
+            鐗╂枡瀹瑰櫒瀹归噺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerPackagingSearchNonPage">
+            <summary>
+            瀹瑰櫒鍏崇郴鍩虹琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.ContainerTypeId">
+            <summary>
+            瀹瑰櫒绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.ContainerTypeName">
+            <summary>
+            瀹瑰櫒绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.MaterialTypeId">
+            <summary>
+            鐗╂枡绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.MaterialTypeCode">
+            <summary>
+            鐗╂枡绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.MaterialTypeName">
+            <summary>
+            鐗╂枡绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.BoxQty">
+            <summary>
+            鐗╂枡瀹瑰櫒瀹归噺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsContainerPackagingInput">
+            <summary>
+            瀹瑰櫒鍏崇郴鍩虹琛ㄨ緭鍏ュ弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingInput.ContainerTypeId">
+            <summary>
+            瀹瑰櫒绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingInput.ContainerTypeName">
+            <summary>
+            瀹瑰櫒绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingInput.MaterialTypeId">
+            <summary>
+            鐗╂枡绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingInput.MaterialTypeCode">
+            <summary>
+            鐗╂枡绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingInput.MaterialTypeName">
+            <summary>
+            鐗╂枡绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingInput.BoxQty">
+            <summary>
+            鐗╂枡瀹瑰櫒瀹归噺
+            </summary>
+        </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">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </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">
+            <summary>
+            瀹瑰櫒绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.ContainerTypeName">
+            <summary>
+            瀹瑰櫒绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.MaterialTypeId">
+            <summary>
+            鐗╂枡绫诲瀷ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.MaterialTypeCode">
+            <summary>
+            鐗╂枡绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.MaterialTypeName">
+            <summary>
+            鐗╂枡绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.BoxQty">
+            <summary>
+            鐗╂枡瀹瑰櫒瀹归噺
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsContainerPackagingOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </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>
+        </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妯℃澘瀵煎叆瀹瑰櫒鍏崇郴鍩虹琛ㄥ姛鑳�
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerPackagingService.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.WmsContainerPackagingService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇瀹瑰櫒鍏崇郴鍩虹琛ㄧ殑Excel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsContainerPackagingService.CheckExisit(Admin.NET.Core.WmsContainerPackaging,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <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.WmsControlRuleDetailSearch">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗘煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.ControlRuleId">
+            <summary>
+            鎺у埗灞炴�ц鍒橧D
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.MaxImumqty">
+            <summary>
+            鏈�楂樺簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.MinImumqty">
+            <summary>
+            鏈�浣庡簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.SafeImumqty">
+            <summary>
+            瀹夊叏搴撳瓨
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.MinStorageAge">
+            <summary>
+            鏈�灏忓簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.MaxStorageAge">
+            <summary>
+            鏈�澶у簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.IsNotChek">
+            <summary>
+            鏄惁鍏嶆
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.ShelfLifeDays">
+            <summary>
+            淇濊川鏈熷ぉ鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleDetailSearchNonPage">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗕笉鍒嗛〉鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.ControlRuleId">
+            <summary>
+            鎺у埗灞炴�ц鍒橧D
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.MaxImumqty">
+            <summary>
+            鏈�楂樺簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.MinImumqty">
+            <summary>
+            鏈�浣庡簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.SafeImumqty">
+            <summary>
+            瀹夊叏搴撳瓨
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.MinStorageAge">
+            <summary>
+            鏈�灏忓簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.MaxStorageAge">
+            <summary>
+            鏈�澶у簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.IsNotChek">
+            <summary>
+            鏄惁鍏嶆
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.ShelfLifeDays">
+            <summary>
+            淇濊川鏈熷ぉ鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleDetailInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗚緭鍏ュ弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.ControlRuleId">
+            <summary>
+            鎺у埗灞炴�ц鍒橧D
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.MaxImumqty">
+            <summary>
+            鏈�楂樺簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.MinImumqty">
+            <summary>
+            鏈�浣庡簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.SafeImumqty">
+            <summary>
+            瀹夊叏搴撳瓨
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.MinStorageAge">
+            <summary>
+            鏈�灏忓簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.MaxStorageAge">
+            <summary>
+            鏈�澶у簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.IsNotChek">
+            <summary>
+            鏄惁鍏嶆
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.ShelfLifeDays">
+            <summary>
+            淇濊川鏈熷ぉ鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsControlRuleDetailInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗘柊澧炲弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsControlRuleDetailInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗗垹闄ゅ弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsControlRuleDetailInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗘洿鏂板弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsControlRuleDetailInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsControlRuleDetailInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗚幏鍙栧崟涓弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleDetailOutput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗚緭鍑哄弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.ControlRuleId">
+            <summary>
+            鎺у埗灞炴�ц鍒橧D
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.MaxImumqty">
+            <summary>
+            鏈�楂樺簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.MinImumqty">
+            <summary>
+            鏈�浣庡簱瀛�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.SafeImumqty">
+            <summary>
+            瀹夊叏搴撳瓨
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.MinStorageAge">
+            <summary>
+            鏈�灏忓簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.MaxStorageAge">
+            <summary>
+            鏈�澶у簱榫�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.IsNotChek">
+            <summary>
+            鏄惁鍏嶆
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.ShelfLifeDays">
+            <summary>
+            淇濊川鏈熷ぉ鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleDetailOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleDetailService">
+            <summary>
+            鎺у埗灞炴�ц鍒欐槑缁嗘湇鍔�
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.Page(Admin.NET.Application.WmsControlRuleDetailSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ鎺у埗灞炴�ц鍒欐槑缁�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.ListNonPageAsync(Admin.NET.Application.WmsControlRuleDetailSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈡帶鍒跺睘鎬ц鍒欐槑缁嗗垪琛�
+            </summary>
+            <param name="input">鎺у埗灞炴�ц鍒欐槑缁嗘煡璇㈠弬鏁�</param>
+            <returns>(鎺у埗灞炴�ц鍒欐槑缁�)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.Get(Admin.NET.Application.QueryeWmsControlRuleDetailInput)">
+            <summary>
+            鑾峰彇鎺у埗灞炴�ц鍒欐槑缁�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.List(Admin.NET.Application.WmsControlRuleDetailInput)">
+            <summary>
+            鑾峰彇鎺у埗灞炴�ц鍒欐槑缁嗗垪琛�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.Add(Admin.NET.Application.AddWmsControlRuleDetailInput)">
+            <summary>
+            澧炲姞鎺у埗灞炴�ц鍒欐槑缁�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.Delete(Admin.NET.Application.DeleteWmsControlRuleDetailInput)">
+            <summary>
+            鍒犻櫎鎺у埗灞炴�ц鍒欐槑缁�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.Update(Admin.NET.Application.UpdateWmsControlRuleDetailInput)">
+            <summary>
+            鏇存柊鎺у埗灞炴�ц鍒欐槑缁�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆鎺у埗灞炴�ц鍒欐槑缁嗗姛鑳�
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.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.WmsControlRuleDetailService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇鎺у埗灞炴�ц鍒欐槑缁嗙殑Excel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.CheckExisit(Admin.NET.Core.WmsControlRuleDetail,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleDetailService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsControlRuleDetail})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleSearch">
+            <summary>
+            鎺у埗灞炴�ц鍒欐煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.RuleCode">
+            <summary>
+            瑙勫垯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.RuleName">
+            <summary>
+            瑙勫垯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.RuleDesc">
+            <summary>
+            瑙勫垯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleSearchNonPage">
+            <summary>
+            鎺у埗灞炴�ц鍒欎笉鍒嗛〉鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.RuleCode">
+            <summary>
+            瑙勫垯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.RuleName">
+            <summary>
+            瑙勫垯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.RuleDesc">
+            <summary>
+            瑙勫垯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欒緭鍏ュ弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleInput.RuleCode">
+            <summary>
+            瑙勫垯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleInput.RuleName">
+            <summary>
+            瑙勫垯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleInput.RuleDesc">
+            <summary>
+            瑙勫垯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsControlRuleInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐柊澧炲弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsControlRuleInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欏垹闄ゅ弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsControlRuleInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欐洿鏂板弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsControlRuleInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsControlRuleInput">
+            <summary>
+            鎺у埗灞炴�ц鍒欒幏鍙栧崟涓弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleOutput">
+            <summary>
+            鎺у埗灞炴�ц鍒欒緭鍑哄弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.RuleCode">
+            <summary>
+            瑙勫垯缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.RuleName">
+            <summary>
+            瑙勫垯鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.RuleDesc">
+            <summary>
+            瑙勫垯鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsControlRuleOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsControlRuleService">
+            <summary>
+            鎺у埗灞炴�ц鍒欐湇鍔�
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.Page(Admin.NET.Application.WmsControlRuleSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ鎺у埗灞炴�ц鍒�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.ListNonPageAsync(Admin.NET.Application.WmsControlRuleSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈡帶鍒跺睘鎬ц鍒欏垪琛�
+            </summary>
+            <param name="input">鎺у埗灞炴�ц鍒欐煡璇㈠弬鏁�</param>
+            <returns>(鎺у埗灞炴�ц鍒�)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.Get(Admin.NET.Application.QueryeWmsControlRuleInput)">
+            <summary>
+            鑾峰彇鎺у埗灞炴�ц鍒�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.List(Admin.NET.Application.WmsControlRuleInput)">
+            <summary>
+            鑾峰彇鎺у埗灞炴�ц鍒欏垪琛�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.Add(Admin.NET.Application.AddWmsControlRuleInput)">
+            <summary>
+            澧炲姞鎺у埗灞炴�ц鍒�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.Delete(Admin.NET.Application.DeleteWmsControlRuleInput)">
+            <summary>
+            鍒犻櫎鎺у埗灞炴�ц鍒�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.Update(Admin.NET.Application.UpdateWmsControlRuleInput)">
+            <summary>
+            鏇存柊鎺у埗灞炴�ц鍒�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆鎺у埗灞炴�ц鍒欏姛鑳�
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.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.WmsControlRuleService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇鎺у埗灞炴�ц鍒欑殑Excel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.CheckExisit(Admin.NET.Core.WmsControlRule,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsControlRuleService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsControlRule})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
         <member name="T:Admin.NET.Application.WmsFactorySearch">
             <summary>
             宸ュ巶淇℃伅琛ㄦ煡璇㈠弬鏁�
@@ -15832,6 +16734,628 @@
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsFactoryService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsFactory})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialCustomerSearch">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.MaterialId">
+            <summary>
+            鐗╂枡ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.CustId">
+            <summary>
+            瀹㈡埛ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.CustCode">
+            <summary>
+            瀹㈡埛缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.CustEnglishName">
+            <summary>
+            瀹㈡埛鑻辨枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.CustChinaName">
+            <summary>
+            瀹㈡埛涓枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialCustomerSearchNonPage">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.MaterialId">
+            <summary>
+            鐗╂枡ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.CustId">
+            <summary>
+            瀹㈡埛ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.CustCode">
+            <summary>
+            瀹㈡埛缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.CustEnglishName">
+            <summary>
+            瀹㈡埛鑻辨枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.CustChinaName">
+            <summary>
+            瀹㈡埛涓枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialCustomerInput">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.MaterialId">
+            <summary>
+            鐗╂枡ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.CustId">
+            <summary>
+            瀹㈡埛ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.CustCode">
+            <summary>
+            瀹㈡埛缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.CustEnglishName">
+            <summary>
+            瀹㈡埛鑻辨枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerInput.CustChinaName">
+            <summary>
+            瀹㈡埛涓枃鍚嶇О
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsMaterialCustomerInput">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsMaterialCustomerInput">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsMaterialCustomerInput">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsMaterialCustomerInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsMaterialCustomerInput">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialCustomerOutput">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.MaterialId">
+            <summary>
+            鐗╂枡ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.CustId">
+            <summary>
+            瀹㈡埛ID
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.CustCode">
+            <summary>
+            瀹㈡埛缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.CustEnglishName">
+            <summary>
+            瀹㈡埛鑻辨枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.CustChinaName">
+            <summary>
+            瀹㈡埛涓枃鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialCustomerOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialCustomerService">
+            <summary>
+            鐗╂枡瀹㈡埛鍏宠仈淇℃伅鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.Page(Admin.NET.Application.WmsMaterialCustomerSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ鐗╂枡瀹㈡埛鍏宠仈淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.ListNonPageAsync(Admin.NET.Application.WmsMaterialCustomerSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈢墿鏂欏鎴峰叧鑱斾俊鎭垪琛�
+            </summary>
+            <param name="input">鐗╂枡瀹㈡埛鍏宠仈淇℃伅鏌ヨ鍙傛暟</param>
+            <returns>(鐗╂枡瀹㈡埛鍏宠仈淇℃伅)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.Get(Admin.NET.Application.QueryeWmsMaterialCustomerInput)">
+            <summary>
+            鑾峰彇鐗╂枡瀹㈡埛鍏宠仈淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.List(Admin.NET.Application.WmsMaterialCustomerInput)">
+            <summary>
+            鑾峰彇鐗╂枡瀹㈡埛鍏宠仈淇℃伅鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.Add(Admin.NET.Application.AddWmsMaterialCustomerInput)">
+            <summary>
+            澧炲姞鐗╂枡瀹㈡埛鍏宠仈淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.Delete(Admin.NET.Application.DeleteWmsMaterialCustomerInput)">
+            <summary>
+            鍒犻櫎鐗╂枡瀹㈡埛鍏宠仈淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.Update(Admin.NET.Application.UpdateWmsMaterialCustomerInput)">
+            <summary>
+            鏇存柊鐗╂枡瀹㈡埛鍏宠仈淇℃伅
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆鐗╂枡瀹㈡埛鍏宠仈淇℃伅鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.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.WmsMaterialCustomerService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇鐗╂枡瀹㈡埛鍏宠仈淇℃伅鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.CheckExisit(Admin.NET.Core.WmsMaterialCustomer,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialCustomerService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsMaterialCustomer})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialTypeSearch">
+            <summary>
+            鐗╂枡绫诲瀷鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.MaterialTypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.MaterialTypeDescr">
+            <summary>
+            绫诲瀷鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.MaterialTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialTypeSearchNonPage">
+            <summary>
+            鐗╂枡绫诲瀷涓嶅垎椤垫煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.MaterialTypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.MaterialTypeDescr">
+            <summary>
+            绫诲瀷鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.MaterialTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialTypeInput">
+            <summary>
+            鐗╂枡绫诲瀷杈撳叆鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeInput.MaterialTypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeInput.MaterialTypeDescr">
+            <summary>
+            绫诲瀷鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeInput.MaterialTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsMaterialTypeInput">
+            <summary>
+            鐗╂枡绫诲瀷鏂板鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsMaterialTypeInput">
+            <summary>
+            鐗╂枡绫诲瀷鍒犻櫎鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsMaterialTypeInput">
+            <summary>
+            鐗╂枡绫诲瀷鏇存柊鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsMaterialTypeInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsMaterialTypeInput">
+            <summary>
+            鐗╂枡绫诲瀷鑾峰彇鍗曚釜鍙傛暟
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialTypeOutput">
+            <summary>
+            鐗╂枡绫诲瀷杈撳嚭鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.MaterialTypeCode">
+            <summary>
+            绫诲瀷缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.MaterialTypeDescr">
+            <summary>
+            绫诲瀷鎻忚堪
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.MaterialTypeName">
+            <summary>
+            绫诲瀷鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsMaterialTypeOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsMaterialTypeService">
+            <summary>
+            鐗╂枡绫诲瀷鏈嶅姟
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.Page(Admin.NET.Application.WmsMaterialTypeSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ鐗╂枡绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.ListNonPageAsync(Admin.NET.Application.WmsMaterialTypeSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈢墿鏂欑被鍨嬪垪琛�
+            </summary>
+            <param name="input">鐗╂枡绫诲瀷鏌ヨ鍙傛暟</param>
+            <returns>(鐗╂枡绫诲瀷)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.Get(Admin.NET.Application.QueryeWmsMaterialTypeInput)">
+            <summary>
+            鑾峰彇鐗╂枡绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.List(Admin.NET.Application.WmsMaterialTypeInput)">
+            <summary>
+            鑾峰彇鐗╂枡绫诲瀷鍒楄〃
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.Add(Admin.NET.Application.AddWmsMaterialTypeInput)">
+            <summary>
+            澧炲姞鐗╂枡绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.Delete(Admin.NET.Application.DeleteWmsMaterialTypeInput)">
+            <summary>
+            鍒犻櫎鐗╂枡绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.Update(Admin.NET.Application.UpdateWmsMaterialTypeInput)">
+            <summary>
+            鏇存柊鐗╂枡绫诲瀷
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆鐗╂枡绫诲瀷鍔熻兘
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.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.WmsMaterialTypeService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇鐗╂枡绫诲瀷鐨凟xcel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.CheckExisit(Admin.NET.Core.WmsMaterialType,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsMaterialTypeService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsMaterialType})">
             <summary>
             鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
             </summary>
@@ -16233,6 +17757,31 @@
             鐗╂枡淇℃伅琛ㄨ幏鍙栧崟涓弬鏁�
             </summary>
         </member>
+        <member name="T:Admin.NET.Application.AddWmsMaterialInfoInput">
+            <summary>
+            鏂板鐗╂枡涓氬姟淇℃伅瀹炰綋鍏ュ弬--鍖呭惈鐗╂枡銆佺墿鏂欏鎴峰叧绯汇�佹帶鍒跺睘鎬с�佹浛浠e搧
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.MaterialInput">
+            <summary>
+            鐗╂枡鍩虹淇℃伅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.ControlRuleld">
+            <summary>
+            鎺у埗灞炴�ц鍒橧D
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.SubstituteGoodList">
+            <summary>
+            鏇夸唬鍝�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.BaseCustomerList">
+            <summary>
+            瀹㈡埛妗f
+            </summary>
+        </member>
         <member name="T:Admin.NET.Application.WmsMaterialOutput">
             <summary>
             鐗╂枡淇℃伅琛ㄨ緭鍑哄弬鏁�
@@ -16401,7 +17950,7 @@
             <param name="input"></param>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Application.WmsMaterialService.Add(Admin.NET.Application.AddWmsMaterialInput)">
+        <member name="M:Admin.NET.Application.WmsMaterialService.Add(Admin.NET.Application.AddWmsMaterialInfoInput)">
             <summary>
             澧炲姞鐗╂枡淇℃伅琛�
             </summary>
@@ -16453,6 +18002,768 @@
             <returns></returns>
         </member>
         <member name="M:Admin.NET.Application.WmsMaterialService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsMaterial})">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+            </summary>
+            <param name="inputs"></param>
+            <returns></returns>
+        </member>
+        <member name="T:Admin.NET.Application.WmsSubstituteGoodSearch">
+            <summary>
+            鏇夸唬鍝佺鐞嗘煡璇㈠弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.SubstituteCode">
+            <summary>
+            鏇夸唬缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.SubstituteMaterialCode">
+            <summary>
+            鏇夸唬鍝佺墿鏂欑紪鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.SubstituteMaterialName">
+            <summary>
+            鏇夸唬鍝佺墿鏂欏悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.SubstituteIndex">
+            <summary>
+            鏇夸唬娆″簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsSubstituteGoodSearchNonPage">
+            <summary>
+            鏇夸唬鍝佺鐞嗕笉鍒嗛〉鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.SubstituteCode">
+            <summary>
+            鏇夸唬缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.SubstituteMaterialCode">
+            <summary>
+            鏇夸唬鍝佺墿鏂欑紪鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.SubstituteMaterialName">
+            <summary>
+            鏇夸唬鍝佺墿鏂欏悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.SubstituteIndex">
+            <summary>
+            鏇夸唬娆″簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsSubstituteGoodInput">
+            <summary>
+            鏇夸唬鍝佺鐞嗚緭鍏ュ弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.SubstituteCode">
+            <summary>
+            鏇夸唬缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.SubstituteMaterialCode">
+            <summary>
+            鏇夸唬鍝佺墿鏂欑紪鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.SubstituteMaterialName">
+            <summary>
+            鏇夸唬鍝佺墿鏂欏悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.SubstituteIndex">
+            <summary>
+            鏇夸唬娆″簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.AddWmsSubstituteGoodInput">
+            <summary>
+            鏇夸唬鍝佺鐞嗘柊澧炲弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.DeleteWmsSubstituteGoodInput">
+            <summary>
+            鏇夸唬鍝佺鐞嗗垹闄ゅ弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.UpdateWmsSubstituteGoodInput">
+            <summary>
+            鏇夸唬鍝佺鐞嗘洿鏂板弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.UpdateWmsSubstituteGoodInput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.QueryeWmsSubstituteGoodInput">
+            <summary>
+            鏇夸唬鍝佺鐞嗚幏鍙栧崟涓弬鏁�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsSubstituteGoodOutput">
+            <summary>
+            鏇夸唬鍝佺鐞嗚緭鍑哄弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.SubstituteCode">
+            <summary>
+            鏇夸唬缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.MaterialCode">
+            <summary>
+            鐗╂枡缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.MaterialName">
+            <summary>
+            鐗╂枡鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.SubstituteMaterialCode">
+            <summary>
+            鏇夸唬鍝佺墿鏂欑紪鍙�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.SubstituteMaterialName">
+            <summary>
+            鏇夸唬鍝佺墿鏂欏悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.SubstituteIndex">
+            <summary>
+            鏇夸唬娆″簭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsSubstituteGoodOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsSubstituteGoodService">
+            <summary>
+            鏇夸唬鍝佺鐞嗘湇鍔�
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.Page(Admin.NET.Application.WmsSubstituteGoodSearch)">
+            <summary>
+            鍒嗛〉鏌ヨ鏇夸唬鍝佺鐞�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.ListNonPageAsync(Admin.NET.Application.WmsSubstituteGoodSearchNonPage)">
+            <summary>
+            涓嶅垎椤垫煡璇㈡浛浠e搧绠$悊鍒楄〃
+            </summary>
+            <param name="input">鏇夸唬鍝佺鐞嗘煡璇㈠弬鏁�</param>
+            <returns>(鏇夸唬鍝佺鐞�)瀹炰緥鍒楄〃</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.Get(Admin.NET.Application.QueryeWmsSubstituteGoodInput)">
+            <summary>
+            鑾峰彇鏇夸唬鍝佺鐞�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.List(Admin.NET.Application.WmsSubstituteGoodInput)">
+            <summary>
+            鑾峰彇鏇夸唬鍝佺鐞嗗垪琛�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.Add(Admin.NET.Application.AddWmsSubstituteGoodInput)">
+            <summary>
+            澧炲姞鏇夸唬鍝佺鐞�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.Delete(Admin.NET.Application.DeleteWmsSubstituteGoodInput)">
+            <summary>
+            鍒犻櫎鏇夸唬鍝佺鐞�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.Update(Admin.NET.Application.UpdateWmsSubstituteGoodInput)">
+            <summary>
+            鏇存柊鏇夸唬鍝佺鐞�
+            </summary>
+            <param name="input"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.ImportExcelAsync(Microsoft.AspNetCore.Http.IFormFile)">
+            <summary>
+            Excel妯℃澘瀵煎叆鏇夸唬鍝佺鐞嗗姛鑳�
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.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.WmsSubstituteGoodService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇鏇夸唬鍝佺鐞嗙殑Excel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.CheckExisit(Admin.NET.Core.WmsSubstituteGood,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsSubstituteGoodService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsSubstituteGood})">
+            <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">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Name">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Address">
+            <summary>
+            浠撳簱鍦板潃
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.FactoryCode">
+            <summary>
+            宸ュ巶缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Length">
+            <summary>
+            闀�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Width">
+            <summary>
+            瀹�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Height">
+            <summary>
+            楂�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.BaseUnit">
+            <summary>
+            鍩烘湰鍗曞厓
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Position">
+            <summary>
+            瀹氫綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.Remarks">
+            <summary>
+            澶囨敞
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearch.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsWarehouseSearchNonPage">
+            <summary>
+            浠撳簱琛ㄤ笉鍒嗛〉鏌ヨ鍙傛暟
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Code">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Name">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Address">
+            <summary>
+            浠撳簱鍦板潃
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.FactoryCode">
+            <summary>
+            宸ュ巶缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Length">
+            <summary>
+            闀�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Width">
+            <summary>
+            瀹�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Height">
+            <summary>
+            楂�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.BaseUnit">
+            <summary>
+            鍩烘湰鍗曞厓
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Position">
+            <summary>
+            瀹氫綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.Remarks">
+            <summary>
+            澶囨敞
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseSearchNonPage.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="T:Admin.NET.Application.WmsWarehouseInput">
+            <summary>
+            浠撳簱琛ㄨ緭鍏ュ弬鏁�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Code">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Name">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Address">
+            <summary>
+            浠撳簱鍦板潃
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.FactoryCode">
+            <summary>
+            宸ュ巶缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Length">
+            <summary>
+            闀�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Width">
+            <summary>
+            瀹�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Height">
+            <summary>
+            楂�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.BaseUnit">
+            <summary>
+            鍩烘湰鍗曞厓
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Position">
+            <summary>
+            瀹氫綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseInput.Remarks">
+            <summary>
+            澶囨敞
+            </summary>
+        </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">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </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">
+            <summary>
+            浠撳簱缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Name">
+            <summary>
+            浠撳簱鍚嶇О
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Address">
+            <summary>
+            浠撳簱鍦板潃
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.FactoryCode">
+            <summary>
+            宸ュ巶缂栧彿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Length">
+            <summary>
+            闀�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Width">
+            <summary>
+            瀹�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Height">
+            <summary>
+            楂�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.BaseUnit">
+            <summary>
+            鍩烘湰鍗曞厓
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Position">
+            <summary>
+            瀹氫綅
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.IsDisabled">
+            <summary>
+            鏄惁绂佺敤
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Remarks">
+            <summary>
+            澶囨敞
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.Id">
+            <summary>
+            Id涓婚敭
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.CreatedTime">
+            <summary>
+            鍒涘缓鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.UpdatedTime">
+            <summary>
+            鏇存柊鏃堕棿
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.CreatedUserName">
+            <summary>
+            鍒涘缓鑰呭悕绉�
+            </summary>
+        </member>
+        <member name="P:Admin.NET.Application.WmsWarehouseOutput.UpdatedUserName">
+            <summary>
+            淇敼鑰呭悕绉�
+            </summary>
+        </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>
+        </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妯℃澘瀵煎叆浠撳簱琛ㄥ姛鑳�
+            </summary>
+            <param name="file">Excel妯℃澘鏂囦欢</param>
+            <returns>瀵煎叆鐨勮褰曟暟</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsWarehouseService.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.WmsWarehouseService.DownloadExcelTemplate(System.String)">
+            <summary>
+            鏍规嵁鐗堟湰涓嬭浇浠撳簱琛ㄧ殑Excel瀵煎叆妯℃澘
+            </summary>
+            <param name="version">妯℃澘鐗堟湰</param>
+            <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsWarehouseService.CheckExisit(Admin.NET.Core.WmsWarehouse,System.Boolean)">
+            <summary>
+            鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-鏁版嵁搴�
+            </summary>
+            <param name="input"></param>
+            <param name="isEdit"></param>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.NET.Application.WmsWarehouseService.CheckExisitForImport(System.Collections.Generic.List{Admin.NET.Core.WmsWarehouse})">
             <summary>
             鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
             </summary>
@@ -23928,44 +26239,6 @@
             Id涓婚敭
             </summary>
         </member>
-        <member name="T:Admin.NET.Application.MaterialSortingService">
-            <summary>
-            鐗╂枡鍒嗘嫞鏈嶅姟
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.MaterialSortingService.#ctor(Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrder,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrderDetails,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsTask,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsPlace,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsArea,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsWarehouseEntrance,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsMaterialContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainerPlace,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsMaterialStock,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrderType,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsSortOrder,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsTakeMaterialOrder,Furion.DatabaseAccessor.MasterDbContextLocator})">
-            <summary>
-            鏋勯�犲嚱鏁�
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.MaterialSortingService.GetSortInfo(Admin.NET.Application.GetSortInfoInput)">
-            <summary>
-            鎵弿鍒嗘嫞鎵樼洏
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.MaterialSortingService.SortSure(Admin.NET.Application.GetSortInfoOutput)">
-            <summary>
-            鍒嗘嫞纭
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.MaterialSortingService.SortPdaPage(Admin.NET.Application.SortPdaPageInput)">
-            <summary>
-            pda鍑哄簱鍗曟煡璇�
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.MaterialSortingService.SortPdaDetailPage(Admin.NET.Application.SortPdaDetailPageInput)">
-            <summary>
-            pda鏍规嵁鍑哄簱鍗曡幏鍙栧垎鎷e崟鏄庣粏
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
         <member name="T:Admin.NET.Application.AutomaticWarehouseService">
             <summary>
             Pda鍗婅嚜鍔ㄥ叆搴�
@@ -24452,41 +26725,6 @@
             鍗曟嵁鐘舵��
             </summary>
         </member>
-        <member name="T:Admin.NET.Application.WmsInWarehouseService">
-            <summary>
-            Pda鐗╂枡鍏ュ簱
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.WmsInWarehouseService.#ctor(Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrder,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrderDetails,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsTask,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsPlace,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsArea,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsWarehouseEntrance,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsMaterialContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainerPlace,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsMaterialStock,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrderType,Furion.DatabaseAccessor.MasterDbContextLocator})">
-            <summary>
-            鏋勯�犲嚱鏁�
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.WmsInWarehouseService.CheckTray(Admin.NET.Application.GetContainerInput)">
-            <summary>
-            鑾峰彇鎵樼洏
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.WmsInWarehouseService.PadGetMaterial(Admin.NET.Application.PadGetMaterialInput)">
-            <summary>
-            閫氳繃鍗曟嵁鍙疯幏鍙栨槑缁�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.WmsInWarehouseService.GroupDisk(Admin.NET.Application.GroupDiskInput)">
-            <summary>
-            鎵ц浠呮敹璐ф搷浣滐紙缁勭洏锛�
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.WmsInWarehouseService.PdaInWarehouse(Admin.NET.Application.PdaInWarehouseInput)">
-            <summary>
-            鎻愪氦鍏ュ簱
-            </summary>
-            <returns></returns>
-        </member>
         <member name="T:Admin.NET.Application.GetOrderDetailInput">
             <summary>
             鍗曟嵁鍙峰弬鏁�
@@ -24828,41 +27066,6 @@
             <summary>
             鍒嗘鍙�
             </summary>
-        </member>
-        <member name="T:Admin.NET.Application.WmsStockReturnWarehouseService">
-            <summary>
-            Pda鐗╂枡閫�搴�
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.WmsStockReturnWarehouseService.#ctor(Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsStockReturnOrder,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsStockReturnOrderDetails,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsTask,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsPlace,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsArea,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsWarehouseEntrance,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsMaterialContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainer,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsContainerPlace,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsMaterialStock,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{Admin.NET.Core.WmsOrderType,Furion.DatabaseAccessor.MasterDbContextLocator})">
-            <summary>
-            鏋勯�犲嚱鏁�
-            </summary>
-        </member>
-        <member name="M:Admin.NET.Application.WmsStockReturnWarehouseService.CheckTray(Admin.NET.Application.StockReturnGetContainerInput)">
-            <summary>
-            鑾峰彇鎵樼洏
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.WmsStockReturnWarehouseService.PadGetMaterial(Admin.NET.Application.StockReturnPadGetMaterialInput)">
-            <summary>
-            閫氳繃鍗曟嵁鍙疯幏鍙栨槑缁�
-            </summary>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.WmsStockReturnWarehouseService.GroupDisk(Admin.NET.Application.StockReturnGroupDiskInput)">
-            <summary>
-            鎵ц浠呮敹璐ф搷浣滐紙缁勭洏锛�
-            </summary>
-            <param name="input"></param>
-            <returns></returns>
-        </member>
-        <member name="M:Admin.NET.Application.WmsStockReturnWarehouseService.PdaInWarehouse(Admin.NET.Application.StockReturnPdaInWarehouseInput)">
-            <summary>
-            鎻愪氦鍏ュ簱
-            </summary>
-            <returns></returns>
         </member>
         <member name="T:Admin.NET.Application.GetWareHouseInReportFormsInput">
             <summary>
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeInput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeInput.cs
new file mode 100644
index 0000000..a7049dd
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeInput.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 WmsMaterialTypeSearch : PageInputBase
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        public virtual string MaterialTypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鎻忚堪
+        /// </summary>
+        public virtual string MaterialTypeDescr { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string MaterialTypeName { 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 WmsMaterialTypeSearchNonPage : PageInputNonPageBase
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        public virtual string MaterialTypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鎻忚堪
+        /// </summary>
+        public virtual string MaterialTypeDescr { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public virtual string MaterialTypeName { 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 WmsMaterialTypeInput
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        [Required(ErrorMessage = "绫诲瀷缂栧彿涓嶈兘涓虹┖")]
+        public virtual string MaterialTypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鎻忚堪
+        /// </summary>
+        public virtual string MaterialTypeDescr { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "绫诲瀷鍚嶇О涓嶈兘涓虹┖")]
+        public virtual string MaterialTypeName { get; set; }
+        
+        /// <summary>
+        /// 鏄惁绂佺敤
+        /// </summary>
+        public virtual bool? IsDisabled { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鐗╂枡绫诲瀷鏂板鍙傛暟
+    /// </summary>
+    public class AddWmsMaterialTypeInput : WmsMaterialTypeInput
+    {
+    }
+
+    /// <summary>
+    /// 鐗╂枡绫诲瀷鍒犻櫎鍙傛暟
+    /// </summary>
+    public class DeleteWmsMaterialTypeInput : BaseId
+    {
+    }
+
+    /// <summary>
+    /// 鐗╂枡绫诲瀷鏇存柊鍙傛暟
+    /// </summary>
+    public class UpdateWmsMaterialTypeInput : WmsMaterialTypeInput
+    {
+        /// <summary>
+        /// Id涓婚敭
+        /// </summary>
+        [Required(ErrorMessage = "Id涓婚敭涓嶈兘涓虹┖")]
+        public long? Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鐗╂枡绫诲瀷鑾峰彇鍗曚釜鍙傛暟
+    /// </summary>
+    public class QueryeWmsMaterialTypeInput : BaseId
+    {
+
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeOutput.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeOutput.cs
new file mode 100644
index 0000000..7c8a3f6
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeOutput.cs
@@ -0,0 +1,57 @@
+锘縰sing Admin.NET.Core.Util.LowCode.Dto;
+using System;
+
+namespace Admin.NET.Application
+{
+    /// <summary>
+    /// 鐗╂枡绫诲瀷杈撳嚭鍙傛暟
+    /// </summary>
+    public class WmsMaterialTypeOutput
+    {
+        /// <summary>
+        /// 绫诲瀷缂栧彿
+        /// </summary>
+        public string MaterialTypeCode { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鎻忚堪
+        /// </summary>
+        public string MaterialTypeDescr { get; set; }
+        
+        /// <summary>
+        /// 绫诲瀷鍚嶇О
+        /// </summary>
+        public string MaterialTypeName { 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/WmsMaterialType/IWmsMaterialTypeService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/IWmsMaterialTypeService.cs
new file mode 100644
index 0000000..94af8da
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/IWmsMaterialTypeService.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 IWmsMaterialTypeService
+    {
+        Task<WmsMaterialTypeOutput> Get([FromQuery] QueryeWmsMaterialTypeInput input);
+        Task<List<WmsMaterialTypeOutput>> List([FromQuery] WmsMaterialTypeInput input);
+        Task<PageResult<WmsMaterialTypeOutput>> Page([FromQuery] WmsMaterialTypeSearch input);
+        Task<List<WmsMaterialTypeOutput>> ListNonPageAsync([FromQuery] WmsMaterialTypeSearchNonPage input);
+        
+        Task Add(AddWmsMaterialTypeInput input);
+        Task Update(UpdateWmsMaterialTypeInput input);
+        Task Delete(DeleteWmsMaterialTypeInput 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/WmsMaterialType/Map/WmsMaterialTypeMapper.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Map/WmsMaterialTypeMapper.cs
new file mode 100644
index 0000000..8e0898b
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Map/WmsMaterialTypeMapper.cs
@@ -0,0 +1,18 @@
+锘縰sing Mapster;
+using Admin.NET.Core;
+
+namespace Admin.NET.Application
+{
+    public class WmsMaterialTypeMapper : IRegister
+    {
+        public void Register(TypeAdapterConfig config)
+        {
+            config.ForType<AddWmsMaterialTypeInput, WmsMaterialType>()
+            ;
+            config.ForType<UpdateWmsMaterialTypeInput, WmsMaterialType>()
+            ;
+            config.ForType<WmsMaterialType, WmsMaterialTypeOutput>()
+            ;
+        }
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/WmsMaterialTypeService.cs b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/WmsMaterialTypeService.cs
new file mode 100644
index 0000000..48de652
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/WmsMaterialTypeService.cs
@@ -0,0 +1,406 @@
+锘縰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 = "WmsMaterialType", Order = 100)]
+    [Route("api")]
+    public class WmsMaterialTypeService : IWmsMaterialTypeService, IDynamicApiController, ITransient
+    {
+        private readonly IRepository<WmsMaterialType,MasterDbContextLocator> _wmsMaterialTypeRep;
+        private readonly IRepository<SysDictType, MasterDbContextLocator> _sysDictTypeRep;
+        private readonly IRepository<SysDictData, MasterDbContextLocator> _sysDictDataRep;
+        private readonly ISysExcelTemplateService _sysExcelTemplateService;
+        private readonly static object _lock = new();
+
+        public WmsMaterialTypeService(
+            IRepository<WmsMaterialType,MasterDbContextLocator> wmsMaterialTypeRep
+            ,IRepository<SysDictType, MasterDbContextLocator> sysDictTypeRep
+            ,IRepository<SysDictData, MasterDbContextLocator> sysDictDataRep
+            ,ISysExcelTemplateService sysExcelTemplateService
+        )
+        {
+            _wmsMaterialTypeRep = wmsMaterialTypeRep;
+         _sysDictTypeRep = sysDictTypeRep;
+         _sysDictDataRep = sysDictDataRep;
+         _sysExcelTemplateService = sysExcelTemplateService;
+        }
+
+        /// <summary>
+        /// 鍒嗛〉鏌ヨ鐗╂枡绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsMaterialType/page")]
+        public async Task<PageResult<WmsMaterialTypeOutput>> Page([FromQuery] WmsMaterialTypeSearch input)
+        {
+            var wmsMaterialTypes = await _wmsMaterialTypeRep.DetachedEntities
+                                     .Where(!string.IsNullOrEmpty(input.MaterialTypeCode), u => u.MaterialTypeCode == input.MaterialTypeCode)
+                                     .Where(!string.IsNullOrEmpty(input.MaterialTypeDescr), u => u.MaterialTypeDescr == input.MaterialTypeDescr)
+                                     .Where(!string.IsNullOrEmpty(input.MaterialTypeName), u => u.MaterialTypeName == input.MaterialTypeName)
+                                     .Where(input.IsDisabled != null, u => u.IsDisabled == input.IsDisabled)
+                                     .Where(!string.IsNullOrEmpty(input.CreatedUserName), u => u.CreatedUserName == input.CreatedUserName)
+                                     .Where(!string.IsNullOrEmpty(input.UpdatedUserName), u => u.UpdatedUserName == input.UpdatedUserName)
+                                     .OrderBy(PageInputOrder.OrderBuilder<WmsMaterialTypeSearch>(input))
+                                     .ProjectToType<WmsMaterialTypeOutput>()
+                                     .ToADPagedListAsync(input.PageNo, input.PageSize);
+            return wmsMaterialTypes;
+        }
+
+        /// <summary>
+        /// 涓嶅垎椤垫煡璇㈢墿鏂欑被鍨嬪垪琛�
+        /// </summary>
+        /// <param name="input">鐗╂枡绫诲瀷鏌ヨ鍙傛暟</param>
+        /// <returns>(鐗╂枡绫诲瀷)瀹炰緥鍒楄〃</returns>
+        [HttpGet("WmsMaterialType/listNonPage")]
+        public async Task<List<WmsMaterialTypeOutput>> ListNonPageAsync([FromQuery] WmsMaterialTypeSearchNonPage input)
+        {
+            var pMaterialTypeCode = input.MaterialTypeCode?.Trim() ?? "";
+            var pMaterialTypeDescr = input.MaterialTypeDescr?.Trim() ?? "";
+            var pMaterialTypeName = input.MaterialTypeName?.Trim() ?? "";
+            var pIsDisabled = input.IsDisabled;
+            var pCreatedUserName = input.CreatedUserName?.Trim() ?? "";
+            var pUpdatedUserName = input.UpdatedUserName?.Trim() ?? "";
+            var wmsMaterialTypes = await _wmsMaterialTypeRep.DetachedEntities
+                .Where(!string.IsNullOrEmpty(pMaterialTypeCode), u => u.MaterialTypeCode == pMaterialTypeCode)
+                .Where(!string.IsNullOrEmpty(pMaterialTypeDescr), u => u.MaterialTypeDescr == pMaterialTypeDescr)
+                .Where(!string.IsNullOrEmpty(pMaterialTypeName), u => u.MaterialTypeName == pMaterialTypeName)
+                .Where(pIsDisabled != null, u => u.IsDisabled == pIsDisabled)
+                .Where(!string.IsNullOrEmpty(pCreatedUserName), u => u.CreatedUserName == pCreatedUserName)
+                .Where(!string.IsNullOrEmpty(pUpdatedUserName), u => u.UpdatedUserName == pUpdatedUserName)
+            .OrderBy(PageInputOrder.OrderNonPageBuilder(input))
+            .ProjectToType<WmsMaterialTypeOutput>()
+            .ToListAsync();
+            return wmsMaterialTypes;
+        }
+
+         /// <summary>
+        /// 鑾峰彇鐗╂枡绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsMaterialType/detail")]
+        public async Task<WmsMaterialTypeOutput> Get([FromQuery] QueryeWmsMaterialTypeInput input)
+        {
+            return (await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(u => u.Id == input.Id)).Adapt<WmsMaterialTypeOutput>();
+        }
+
+        /// <summary>
+        /// 鑾峰彇鐗╂枡绫诲瀷鍒楄〃
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpGet("WmsMaterialType/list")]
+        public async Task<List<WmsMaterialTypeOutput>> List([FromQuery] WmsMaterialTypeInput input)
+        {
+            return await _wmsMaterialTypeRep.DetachedEntities.ProjectToType<WmsMaterialTypeOutput>().ToListAsync();
+        }    
+
+        #region 澧炪�佸垹銆佹敼
+
+        /// <summary>
+        /// 澧炲姞鐗╂枡绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsMaterialType/add")]
+        public async Task Add(AddWmsMaterialTypeInput input)
+        {
+            var wmsMaterialType = input.Adapt<WmsMaterialType>();
+                        //楠岃瘉
+            await CheckExisit(wmsMaterialType);
+
+            wmsMaterialType.CreatedUserId = wmsMaterialType.UpdatedUserId = SysHelper.GetUserId();
+            wmsMaterialType.CreatedUserName = wmsMaterialType.UpdatedUserName = SysHelper.GetUserName();
+            wmsMaterialType.CreatedTime = wmsMaterialType.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsMaterialTypeRep.InsertAsync(wmsMaterialType);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎鐗╂枡绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsMaterialType/delete")]
+        public async Task Delete(DeleteWmsMaterialTypeInput input)
+        {
+            var wmsMaterialType = await _wmsMaterialTypeRep.FirstOrDefaultAsync(u => u.Id == input.Id);
+            await _wmsMaterialTypeRep.DeleteAsync(wmsMaterialType);
+            
+        }
+
+        /// <summary>
+        /// 鏇存柊鐗╂枡绫诲瀷
+        /// </summary>
+        /// <param name="input"></param>
+        /// <returns></returns>
+        [HttpPost("WmsMaterialType/edit")]
+        public async Task Update(UpdateWmsMaterialTypeInput input)
+        {
+            var isExist = await _wmsMaterialTypeRep.AnyAsync(u => u.Id == input.Id, false);
+            if (!isExist) throw Oops.Oh(ErrorCode.D1002);
+
+            var wmsMaterialType = input.Adapt<WmsMaterialType>();
+            //楠岃瘉
+            await CheckExisit(wmsMaterialType,true);
+
+            wmsMaterialType.UpdatedUserId = SysHelper.GetUserId();
+            wmsMaterialType.UpdatedUserName = SysHelper.GetUserName();
+            wmsMaterialType.UpdatedTime = SysHelper.GetNowTime();
+            await _wmsMaterialTypeRep.UpdateAsync(wmsMaterialType,ignoreNullValues:true);
+        }
+
+        #endregion
+
+        #region 瀵煎叆
+
+        /// <summary>
+        /// Excel妯℃澘瀵煎叆鐗╂枡绫诲瀷鍔熻兘
+        /// </summary>
+        /// <param name="file">Excel妯℃澘鏂囦欢</param>
+        /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+        [HttpPost("WmsMaterialType/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)
+            {
+                _wmsMaterialTypeRep.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<WmsMaterialType>> CommonImport(DataTable dataTable, int dataStartLine)
+        {
+
+            var details = new List<WmsMaterialType>();
+            int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+            foreach (System.Data.DataRow row in dataTable.Rows)
+            {
+                index++;
+
+               //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+                                          
+                           var addItem = new WmsMaterialType()
+                            {
+                               CreatedTime = SysHelper.GetNowTime(),
+                               CreatedUserId = SysHelper.GetUserId(),
+                               CreatedUserName = SysHelper.GetUserName(),
+                               UpdatedTime = SysHelper.GetNowTime(),
+                               UpdatedUserId = SysHelper.GetUserId(),
+                               UpdatedUserName = SysHelper.GetUserName()
+                             };
+                          #region 瀹氫箟鍙橀噺
+                           var _MaterialTypeCode = "";//绫诲瀷缂栧彿
+                           var _MaterialTypeDescr = "";//绫诲瀷鎻忚堪
+                           var _MaterialTypeName = "";//绫诲瀷鍚嶇О
+                           var _IsDisabled = "";//鏄惁绂佺敤
+                           var _Id = "";//Id涓婚敭
+                          #endregion
+                          
+                          
+                          #region 鍙栧��
+                           _MaterialTypeCode = row["绫诲瀷缂栧彿"]?.ToString() ;
+                           _MaterialTypeDescr = row["绫诲瀷鎻忚堪"]?.ToString() ;
+                           _MaterialTypeName = row["绫诲瀷鍚嶇О"]?.ToString() ;
+                           _IsDisabled = row["鏄惁绂佺敤"]?.ToString() ;
+                           _Id = row["Id涓婚敭"]?.ToString() ;
+                          #endregion
+                          
+                          
+                          #region 楠岃瘉
+                          
+                          if (string.IsNullOrEmpty(_MaterialTypeCode))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾绫诲瀷缂栧彿]{_MaterialTypeCode}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_MaterialTypeCode))
+                          {
+                                addItem.MaterialTypeCode = (string)_MaterialTypeCode;
+                           }
+                          if(!string.IsNullOrEmpty(_MaterialTypeDescr))
+                          {
+                                addItem.MaterialTypeDescr = (string)_MaterialTypeDescr;
+                           }
+                          
+                          if (string.IsNullOrEmpty(_MaterialTypeName))
+                          {
+                            throw Oops.Oh($"绗瑊index}琛孾绫诲瀷鍚嶇О]{_MaterialTypeName}涓嶈兘涓虹┖锛�");
+                          }
+                          
+                          if(!string.IsNullOrEmpty(_MaterialTypeName))
+                          {
+                                addItem.MaterialTypeName = (string)_MaterialTypeName;
+                           }
+                          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("WmsMaterialType/downloadExcelTemplate")]
+        public IActionResult DownloadExcelTemplate([FromQuery] string version)
+        {
+            string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\WmsMaterialType{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( WmsMaterialType input,bool isEdit=false)
+        {
+           
+
+           
+           bool isExist = false;
+           if (!isEdit)//鏂板
+           {
+                   //鏁版嵁鏄惁瀛樺湪閲嶅
+                   isExist = await _wmsMaterialTypeRep.AnyAsync(u =>
+                                   u.MaterialTypeCode.Equals(input.MaterialTypeCode)
+                   ,false);
+          }
+           else//缂栬緫 
+          {
+
+          
+                
+                 //褰撳墠缂栬緫鏁版嵁浠ュ鏄惁瀛樺湪閲嶅
+                  isExist = await _wmsMaterialTypeRep.AnyAsync(u => 
+                                    u.Id != input.Id
+                                    &&u.MaterialTypeCode.Equals(input.MaterialTypeCode)
+                    ,false);
+               }
+               
+        
+
+            if (isExist) throw Oops.Oh(ErrorCode.E0001);
+       }
+        
+        /// <summary>
+        /// 鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁鏄惁宸插瓨鍦�-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsMaterialType> inputs)
+        { 
+            //鏍规嵁鑱斿悎涓婚敭楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                 if (inputs?.Count <= 0)
+                 {
+                     throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+                 }
+                 //鏁版嵁鏄惁閲嶅
+                 var existExcelItem = inputs.GroupBy(g => new {
+                                               g.MaterialTypeCode
+                                               })
+                                               .Where(g => g.Count() > 1)
+                                               .Select(s => new {
+                                               s.Key.MaterialTypeCode
+                                               }).FirstOrDefault();
+                 if (existExcelItem != null)
+                 {
+                   var wmsMaterialType = existExcelItem.Adapt<WmsMaterialType>();
+                   var item= existExcelItem.Adapt<WmsMaterialType>();
+                   throw Oops.Oh($"瀵煎叆鐨勮〃鏍间腑,绫诲瀷缂栧彿[{item.MaterialTypeCode}]宸插瓨鍦�");
+                 }
+                      
+
+
+
+    //鏍规嵁鑱斿悎涓婚敭楠岃瘉鏁版嵁搴撲腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+                 var existDBItem = await _wmsMaterialTypeRep.DetachedEntities.FirstOrDefaultAsync(w=> 
+                                                                         inputs.Select(s=>""
+                                                                           +s.MaterialTypeCode
+                                                                        )
+                                                                        .Contains(""
+                                                                         +w.MaterialTypeCode
+                  ));
+                  if (existDBItem != null)
+                 {
+                   var wmsMaterialType = existExcelItem.Adapt<WmsMaterialType>();
+                   var item= existExcelItem.Adapt<WmsMaterialType>();
+                   throw Oops.Oh($"绯荤粺涓�,绫诲瀷缂栧彿[{item.MaterialTypeCode}]宸插瓨鍦�");
+                 }
+        }
+
+        #endregion
+    }
+}
diff --git a/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialTypeImport.xlsx b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialTypeImport.xlsx
new file mode 100644
index 0000000..71914c8
--- /dev/null
+++ b/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialTypeImport.xlsx
Binary files differ

--
Gitblit v1.9.3