payne
2024-04-24 d98f5d51bed1bfd00390b9320ba22a39c02bf7a8
新增物料类型
已添加11个文件
已修改1个文件
4186 ■■■■■ 文件已修改
iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsMaterialTypeManage.js 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/addForm.vue 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/editForm.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/excelForm.vue 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterialType/index.vue 435 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml 2583 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeInput.cs 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeOutput.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/IWmsMaterialTypeService.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Map/WmsMaterialTypeMapper.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/WmsMaterialTypeService.cs 406 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialTypeImport.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
iWare_RawMaterialWarehouse_Web/src/api/modular/main/WmsBase/WmsMaterialTypeManage.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
import { 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
  })
}
/**
 * å¯¼å‡ºç‰©æ–™ç±»åž‹çš„Excel文件
 *
 * @author liuwq
 */
export function WmsMaterialTypeToExcel (parameter) {
  return axios({
    url: '/WmsMaterialType/toExcel',
    method: 'get',
    params: parameter,
    responseType: 'blob'
  })
}
/**
 * å¯¼å…¥ç‰©æ–™ç±»åž‹çš„Excel文件
 *
 * @author liuwq
 */
export function WmsMaterialTypeImportExcel (data, parameter) {
  return axios({
    url: '/WmsMaterialType/importExcel',
    method: 'post',
    data: data,
    params: parameter
  })
}
/**
 * ä¸‹è½½ç‰©æ–™ç±»åž‹çš„Excel导入模板
 *
 * @author liuwq
 */
export function WmsMaterialTypeDownloadExcelTemplate(parameter) {
  return axios({
    url: '/WmsMaterialType/downloadExcelTemplate',
    method: 'get',
    params: parameter,
    responseType: 'blob'
  })
}
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>
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>
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>请选择要导入的数据文件(Excel格式)</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>
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'
    //自定义table高度
    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>
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>
            æ ¹æ®ç‰ˆæœ¬ä¸‹è½½æ‰˜ç›˜ä¿¡æ¯çš„Excel导入模板
            </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>导出的Excel文件</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>
            æŽ§åˆ¶å±žæ€§è§„则ID
            </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>
            æŽ§åˆ¶å±žæ€§è§„则ID
            </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>
            æŽ§åˆ¶å±žæ€§è§„则ID
            </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>
            æŽ§åˆ¶å±žæ€§è§„则ID
            </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>
            æ ¹æ®ç‰ˆæœ¬ä¸‹è½½ç‰©æ–™å®¢æˆ·å…³è”信息的Excel导入模板
            </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>
            æ ¹æ®ç‰ˆæœ¬ä¸‹è½½ç‰©æ–™ç±»åž‹çš„Excel导入模板
            </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>
            æ–°å¢žç‰©æ–™ä¸šåŠ¡ä¿¡æ¯å®žä½“å…¥å‚--包含物料、物料客户关系、控制属性、替代品
            </summary>
        </member>
        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.MaterialInput">
            <summary>
            ç‰©æ–™åŸºç¡€ä¿¡æ¯
            </summary>
        </member>
        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.ControlRuleld">
            <summary>
            æŽ§åˆ¶å±žæ€§è§„则ID
            </summary>
        </member>
        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.SubstituteGoodList">
            <summary>
            æ›¿ä»£å“
            </summary>
        </member>
        <member name="P:Admin.NET.Application.AddWmsMaterialInfoInput.BaseCustomerList">
            <summary>
            å®¢æˆ·æ¡£æ¡ˆ
            </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>
            ä¸åˆ†é¡µæŸ¥è¯¢æ›¿ä»£å“ç®¡ç†åˆ—表
            </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根据出库单获取分拣单明细
            </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>
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,165 @@
using 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
    {
    }
}
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Dto/WmsMaterialTypeOutput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
using 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; }
    }
}
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/IWmsMaterialTypeService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
using 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);
    }
}
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/Map/WmsMaterialTypeMapper.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
using 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>()
            ;
        }
    }
}
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsMaterialType/WmsMaterialTypeService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,406 @@
using Furion.DatabaseAccessor;
using Furion.DatabaseAccessor.Extensions;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using Furion.FriendlyException;
using Admin.NET.Core;
using Mapster;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Linq.Dynamic.Core;
using Microsoft.AspNetCore.Http;
using System.Text;
using System.Web;
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}值不正确!");
                             }
                             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}值不正确!");
                              }
                              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>
        /// æ ¹æ®ç‰ˆæœ¬ä¸‹è½½ç‰©æ–™ç±»åž‹çš„Excel导入模板
        /// </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
    }
}
iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/WmsMaterialTypeImport.xlsx
Binary files differ