schangxiang@126.com
2025-05-12 3aedad63dd01f1fc5154cb520af32edab967d6e0
Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
已添加4个文件
已修改25个文件
2483 ■■■■■ 文件已修改
HIAWms/hiawms_web/components.d.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsOutOrderCallMaterialDialog.tsx 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.tsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/project/Wms.cmsproj 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.Designer.cs 1786 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/hiawms_web/components.d.ts
@@ -42,6 +42,8 @@
    ElPopover: typeof import('element-plus/es')['ElPopover']
    ElRadio: typeof import('element-plus/es')['ElRadio']
    ElSelect: typeof import('element-plus/es')['ElSelect']
    ElTable: typeof import('element-plus/es')['ElTable']
    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
    ElTabPane: typeof import('element-plus/es')['ElTabPane']
    ElTabs: typeof import('element-plus/es')['ElTabs']
    ElTag: typeof import('element-plus/es')['ElTag']
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts
@@ -10,7 +10,8 @@
  index: number 
export const useWmsInOutStockOrder = (props: any, ctx?: any) => { 
  const wmsInOutStockOrder = injectModel<WmsInOutStockOrder>('wmsInOutStockOrder')
  const wmsInOutStockOrder =
    injectModel<WmsInOutStockOrder>('wmsInOutStockOrder')
  const { exportFile } = useFile() 
  /** 
   * å¤´éƒ¨é…ç½® 
@@ -57,7 +58,6 @@
    isAdd: false, 
  }) 
 
  const dialogSettingConfig = reactive({ 
    visible: false, 
    title: '', 
@@ -103,37 +103,37 @@
    //   divided: true, 
    //   icon: 'up', 
    // }, 
    // {
    //   label: '向下添加',
    //   fn: (c: CurrentType, pageNum: number) => {
    //     current.value = null
    //     sort.value = c.index + 2 + (pageNum - 1) * 50
    //     dialogConfig.visible = true
    //     dialogConfig.title = '添加'
    //     dialogConfig.isAdd = false
    //   },
    //   divided: true,
    //   icon: 'down',
    // },
    // {
    //   label: '创建副本',
    //   fn: async ({ row }: CurrentType) => {
    //     await wmsInOutStockOrder.cloneData([row.id])
    //     ElMessage.success('创建副本成功')
    //     tableRef.value?.getList()
    //   },
    //   divided: true,
    //   icon: 'copy',
    // },
    {
      label: '叫料',
      fn: async (c: CurrentType) => {
        const names = selection.value.map(
          (item: { orderNo: string }) => item.orderNo
        )
        ConfirmBox(
          `确定叫料${names.length ? names.join(',') : c.row.orderNo}`
        ).then(async () => {
          const data = selection.value.length > 0 ? selection.value : [c.row]
          console.log('叫料数据:', data)
          await wmsInOutStockOrder.wmsInOutStockOrderCall(data)
          ElMessage.success('叫料成功')
          tableRef.value.getList()
        })
      },
      icon: 'close',
    },
    { 
      label: '删除', 
      fn: async (c: CurrentType) => { 
        const names = selection.value.map((item: { orderNo: string }) => item.orderNo)
        const names = selection.value.map(
          (item: { orderNo: string }) => item.orderNo
        )
        ConfirmBox( 
          `是否删除${names.length ? names.join(',') : c.row.orderNo}` 
        ).then(async () => { 
          const ids = selection.value.map((item: { id: string }) => item.id) 
          await wmsInOutStockOrder.deleteWmsInOutStockOrders(ids.length ? ids : [c.row.id])
          await wmsInOutStockOrder.deleteWmsInOutStockOrders(
            ids.length ? ids : [c.row.id]
          )
          ElMessage.success('删除成功') 
          tableRef.value.getList() 
        }) 
@@ -187,7 +187,11 @@
   */ 
  const onExport = (data={}) => { 
    //const params = tableRef.value?.getParams() 
    exportFile('/api/v1/HIAWms/wmsInOutStockOrder/export', data, 'wmsInOutStockOrder')
    exportFile(
      '/api/v1/HIAWms/wmsInOutStockOrder/export',
      data,
      'wmsInOutStockOrder'
    )
  } 
 
  /** 
@@ -270,6 +274,6 @@
    onConfirmWmsInOutStockOrder, 
    onCheck, 
    onAddWmsInOutStockOrder, 
    onAdvancedQuery
    onAdvancedQuery,
  } 
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsOutOrderCallMaterialDialog.tsx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,215 @@
import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
import type { Ref } from 'vue'
import BaseTable from '@/components/Table/Table'
import styles from './WmsInOutStockOrder.module.scss'
import { useWmsInOutStockOrder } from '../../../Controllers/WmsInOutStockOrder'
import Search from '@/components/Search/Search'
import { columns } from './Config'
import TdButton from '@/components/TdButton/TdButton'
import { vPermission } from '@/libs/Permission/Permission'
import { getWmsEnumData } from '@/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrderDrawer'
import dayjs from 'dayjs'
import {
  ElInput,
  ElSelect,
  ElOption,
  ElDatePicker,
  ElForm,
  ElFormItem,
  ElDialog,
  ElTable,
  ElTableColumn,
  ElButton,
  ElMessage,
} from 'element-plus'
import { injectModel } from '@/libs/Provider/Provider'
interface RenderTableType {
  url?: string
  dataSource: Ref<any[]>
  isDrag?: boolean
  isChecked?: boolean
  isHidePagination?: boolean
  params?: Record<string, any>
  autoHeight?: boolean
}
export default defineComponent({
  name: 'WmsInOutStockOrder',
  directives: {
    permission: vPermission,
  },
  setup(props, ctx) {
    const {
      dataSource,
      contextMenu,
      tableRef,
      selection,
      onRowClick,
      onCheck,
      openDetail,
    } = useWmsInOutStockOrder(props, ctx)
    // å«æ–™å¼¹çª—相关状态
    const callMaterialDialog = reactive({
      visible: false,
      title: '叫料',
      selectedItems: [] as any[],
    })
    // æ‰“开叫料弹窗
    const openCallMaterialDialog = () => {
      if (selection.value.length === 0) {
        ElMessage.warning('请至少选择一条记录')
        return
      }
      callMaterialDialog.selectedItems = [...selection.value]
      console.log('选中的数据:', callMaterialDialog.selectedItems)
      callMaterialDialog.visible = true
    }
    // ç¡®è®¤å«æ–™
    const confirmCallMaterial = () => {
      // è¿™é‡Œæ·»åŠ å«æ–™é€»è¾‘
      console.log('叫料数据:', callMaterialDialog.selectedItems)
      ElMessage.success('叫料成功')
      callMaterialDialog.visible = false
    }
    /**
     * @returns å«æ–™å¼¹çª—
     */
    const RenderCallMaterialDialog = () => {
      return (
        <ElDialog
          v-model={callMaterialDialog.visible}
          title={callMaterialDialog.title}
          width="70%"
          v-slots={{
            footer: () => (
              <div class={styles.dialogFooter}>
                <ElButton onClick={() => (callMaterialDialog.visible = false)}>
                  å–消
                </ElButton>
                <ElButton type="primary" onClick={confirmCallMaterial}>
                  ç¡®è®¤å«æ–™
                </ElButton>
              </div>
            ),
          }}
        >
          <ElTable data={callMaterialDialog.selectedItems} border>
            <ElTableColumn prop="orderNo" label="单据号" width="180" />
            <ElTableColumn prop="materialNo" label="物料编号" width="180" />
            <ElTableColumn prop="materialName" label="物料名称" />
            <ElTableColumn prop="materialModel" label="型号" />
            <ElTableColumn prop="placeNo" label="库位编号" />
            <ElTableColumn prop="quantity" label="数量" />
          </ElTable>
        </ElDialog>
      )
    }
    /**
     * @returns è¡¨æ ¼
     */
    const RenderBaseTable = (props: RenderTableType) => {
      const {
        url,
        dataSource,
        isDrag,
        isChecked,
        isHidePagination,
        params,
        autoHeight,
      } = props
      return (
        <div
          class={{
            [styles.wmsInOutStockOrderList]: true,
          }}
        >
          <BaseTable
            ref={tableRef}
            url={url}
            v-model:dataSource={dataSource.value}
            columns={columns}
            contextMenu={contextMenu}
            params={params}
            isDrag={isDrag}
            isChecked={isChecked}
            autoHeight={autoHeight}
            onCheck={onCheck}
            onRowClick={onRowClick}
            isHidePagination={isHidePagination}
            pageSize={20}
            v-slots={{
              operateTime: ({ row }: any) => {
                return (
                  <div>
                    {row.operateTime != null
                      ? dayjs(row.operateTime).format('YYYY-MM-DD HH:mm:ss')
                      : '-'}
                  </div>
                )
              },
              creationTime: ({ row }: any) => {
                return (
                  <div>
                    {row.creationTime != null
                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
                      : '-'}
                  </div>
                )
              },
              name: ({ row }: any) => {
                return row?.name ? (
                  <TdButton
                    onClick={() => openDetail(row)}
                    text={<span style="color:#5a84ff">详情</span>}
                    icon="scale"
                    tip={row?.name}
                    hover
                  >
                    {row?.name}
                  </TdButton>
                ) : (
                  '-'
                )
              },
            }}
          ></BaseTable>
        </div>
      )
    }
    return () => {
      return (
        <div class={styles.wmsInOutStockOrderContent}>
          {/* å«æ–™å¼¹çª— */}
          <RenderCallMaterialDialog />
          {/* æ“ä½œæŒ‰é’®åŒºåŸŸ */}
          <div class={styles.headerContent}>
            <div class={styles.header}>
              <ElButton
                v-permission="wmsInOutStockOrder-call"
                type="primary"
                onClick={openCallMaterialDialog}
              >
                å«æ–™
              </ElButton>
            </div>
          </div>
          <RenderBaseTable
            dataSource={dataSource}
            isChecked={true}
            isDrag={true}
          />
        </div>
      )
    }
  },
})
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts
@@ -28,3 +28,11 @@
export const cloneData = (data: any) => { 
  return request.post('/api/v1/HIAWms/wmsInOutStockOrder/clone', data) 
/**
 * å«æ–™
 * @returns
 */
export const wmsInOutStockOrderCall = (data: Record<string, any>) => {
  return request.post('/api/v1/HIAWms/WmsOutStock/CallMaterial', data)
}
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts
@@ -3,6 +3,7 @@
  deleteWmsInOutStockOrders, 
  addWmsInOutStockOrder, 
  cloneData, 
  wmsInOutStockOrderCall,
} from './Service/WmsInOutStockOrder' 
 
export class WmsInOutStockOrder extends Base<{ [key: string]: any }> { 
@@ -38,4 +39,13 @@
  cloneData(ids: string[]) { 
    return cloneData(ids) 
  } 
  /**
   * å«æ–™
   * @param data
   * @returns
   */
  wmsInOutStockOrderCall(data: Record<string, any>) {
    return wmsInOutStockOrderCall(data)
  }
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
@@ -19,6 +19,11 @@
  ElDatePicker,
  ElForm,
  ElFormItem,
  ElDialog,
  ElButton,
  ElTable,
  ElTableColumn,
  ElMessage,
} from 'element-plus'
import { injectModel } from '@/libs/Provider/Provider'
@@ -37,6 +42,7 @@
  directives: {
    permission: vPermission,
  },
  setup(props, ctx) {
    const {
      dataSource,
@@ -46,6 +52,7 @@
      tableRef,
      current,
      search,
      selection,
      sort,
      headers,
      onError,
@@ -173,6 +180,66 @@
      return filteredData
    }
    // å«æ–™å¼¹çª—相关状态
    const callMaterialDialog = reactive({
      visible: false,
      title: '叫料',
      selectedItems: [] as any[],
    })
    // æ‰“开叫料弹窗
    const openCallMaterialDialog = () => {
      console.log('选中的数据:', callMaterialDialog.selectedItems)
      if (selection.value.length === 0) {
        ElMessage.warning('请至少选择一条记录')
        return
      }
      callMaterialDialog.selectedItems = [...selection.value]
      callMaterialDialog.visible = true
    }
    // ç¡®è®¤å«æ–™
    const confirmCallMaterial = () => {
      // è¿™é‡Œæ·»åŠ å«æ–™é€»è¾‘
      console.log('叫料数据:', callMaterialDialog.selectedItems)
      ElMessage.success('叫料成功')
      callMaterialDialog.visible = false
    }
    /**
     * @returns å«æ–™å¼¹çª—
     */
    const RenderCallMaterialDialog = () => {
      return (
        <ElDialog
          v-model={callMaterialDialog.visible}
          title={callMaterialDialog.title}
          width="70%"
          v-slots={{
            footer: () => (
              <div class={styles.dialogFooter}>
                <ElButton onClick={() => (callMaterialDialog.visible = false)}>
                  å–消
                </ElButton>
                <ElButton type="primary" onClick={confirmCallMaterial}>
                  ç¡®è®¤å«æ–™
                </ElButton>
              </div>
            ),
          }}
        >
          <ElTable data={callMaterialDialog.selectedItems} border>
            <ElTableColumn prop="orderNo" label="单据号" width="180" />
            <ElTableColumn prop="materialNo" label="物料编号" width="180" />
            <ElTableColumn prop="materialName" label="物料名称" />
            <ElTableColumn prop="materialModel" label="型号" />
            <ElTableColumn prop="placeNo" label="库位编号" />
            <ElTableColumn prop="quantity" label="数量" />
          </ElTable>
        </ElDialog>
      )
    }
    /**
     * @returns è¡¨æ ¼
     */
@@ -273,6 +340,9 @@
          <div class={styles.headerContent}>
            <div class={styles.header}>
              {/* å«æ–™å¼¹çª— */}
              <RenderCallMaterialDialog />
              <IconButton
                v-permission="wmsInOutStockOrder-add"
                icon="add-p"
@@ -285,7 +355,7 @@
              <IconButton
                v-permission="wmsInOutStockOrder-add"
                icon="add-p"
                onClick={onAddWmsInOutStockOrder}
                onClick={openCallMaterialDialog}
                type="primary"
              >
                å«æ–™
HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.tsx
@@ -297,7 +297,7 @@
              <el-divider direction="vertical" />
              <el-divider direction="vertical" />
              <el-upload
              {/* <el-upload
                v-permission="wmsInOutStockOrderDetail-import"
                name="file"
                accept=".xlsx,.xls,.csv"
@@ -317,7 +317,7 @@
                onClick={handleExport}
              >
                å¯¼å‡º
              </IconButton>
              </IconButton> */}
            </div>
            <ElFormItem style={{ marginTop: '15px' }}>
              <ElFormItem label="关键字">
HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts
@@ -45,6 +45,10 @@
    title: '型号',
  },
  {
    field: 'materialBatch',
    title: '批次',
  },
  {
    field: 'remark',
    title: '备注',
  },
HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts
@@ -33,7 +33,7 @@
 * ç‰©æ–™åž‹å·åˆ—表
 * @returns
 */
export const getMaterialModelList = (data: any) => {
export const getMaterialModelList = () => {
  return request.get(`/api/v1/hiawms/wmsenum/ModelList`)
}
HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
@@ -8,12 +8,14 @@
  ElButton,
  ElSelect,
  ElOption,
  ElMessage,
} from 'element-plus'
import {
  getPlaceNoForStockList,
  getMaterialModelList,
  instock,
} from '@/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer'
import { Message } from '@element-plus/icons-vue/dist/types'
export default defineComponent({
  name: 'WmsMaterialContainer',
@@ -45,10 +47,21 @@
    // ç»„盘入库操作
    const handlePalletizeStorage = () => {
      console.log('组盘入库操作', queryForm.value)
      instock(queryForm.value)
      instock(queryForm.value), resetQueryForm()
      ElMessage.success({
        message: '组盘入库成功',
        type: 'success',
      })
      // è¿™é‡Œæ·»åŠ ç»„ç›˜å…¥åº“é€»è¾‘
    }
    const resetQueryForm = () => {
      queryForm.value.materialModel = ''
      queryForm.value.placeNo = ''
      queryForm.value.materialBatch = ''
      queryForm.value.stockNumber = ''
    }
    const getModelList = async () => {
      const models = await getMaterialModelList()
      modelOptions.value = models.map((item: string) => ({
HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts
@@ -9,6 +9,11 @@
  row: any 
  index: number 
interface WmsTaskItem {
  id: string
  taskNo: string
  // å…¶ä»–字段...
}
export const useWmsTask = (props: any, ctx?: any) => { 
  const wmsTask = injectModel<WmsTask>('wmsTask') 
  const { exportFile } = useFile() 
@@ -19,7 +24,7 @@
  /** 
   * åŠ¨æ€åˆ—é…ç½® 
   */ 
  const wmsTaskColumns = ref<Record<string, any>>([])
  const wmsTaskColumns = ref<Record<string, any>>({})
  /** 
   * æœç´¢å€¼ 
   */ 
@@ -32,7 +37,7 @@
  /** 
   * é€‰æ‹©é¡¹ 
   */ 
  const selection = ref([])
  const selection = ref<WmsTaskItem[]>([])
  /** 
   * å½“前选中的行 
   */ 
@@ -56,7 +61,6 @@
    title: '', 
    isAdd: false, 
  }) 
 
  const dialogSettingConfig = reactive({ 
    visible: false, 
@@ -103,32 +107,53 @@
    //   divided: true, 
    //   icon: 'up', 
    // }, 
    // {
    //   label: '向下添加',
    //   fn: (c: CurrentType, pageNum: number) => {
    //     current.value = null
    //     sort.value = c.index + 2 + (pageNum - 1) * 50
    //     dialogConfig.visible = true
    //     dialogConfig.title = '添加'
    //     dialogConfig.isAdd = false
    //   },
    //   divided: true,
    //   icon: 'down',
    // },
    // {
    //   label: '创建副本',
    //   fn: async ({ row }: CurrentType) => {
    //     await wmsTask.cloneData([row.id])
    //     ElMessage.success('创建副本成功')
    //     tableRef.value?.getList()
    //   },
    //   divided: true,
    //   icon: 'copy',
    // },
    {
      label: '强制完成',
      fn: async (c: CurrentType) => {
        // èŽ·å–è¦æ“ä½œçš„ä»»åŠ¡ï¼ˆå¤šé€‰æˆ–å½“å‰è¡Œï¼‰
        const tasks = selection.value.length > 0 ? selection.value : [c.row]
        const data = {
          taskNo: tasks[0].taskNo,
        }
        ConfirmBox(`是否强制完成 ${tasks.map((t) => t.taskNo).join(',')}`)
          .then(async () => {
            await wmsTask.finishTask(data) // ä¼ é€’单个对象或数组
            ElMessage.success('强制完成成功')
            tableRef.value.getList()
          })
          .catch(() => {})
      },
      divided: true,
      icon: 'down',
    },
    {
      label: '取消',
      fn: async (c: CurrentType) => {
        // èŽ·å–è¦æ“ä½œçš„ä»»åŠ¡ï¼ˆå¤šé€‰æˆ–å½“å‰è¡Œï¼‰
        const tasks = selection.value.length > 0 ? selection.value : [c.row]
        const data = {
          taskNo: tasks[0].taskNo,
        }
        ConfirmBox(`是否取消 ${tasks.map((t) => t.taskNo).join(',')}`)
          .then(async () => {
            await wmsTask.cancelTask(data) // ä¼ é€’单个对象或数组
            ElMessage.success('取消成功')
            tableRef.value.getList()
          })
          .catch(() => {})
      },
      divided: true,
      icon: 'copy',
    },
    { 
      label: '删除', 
      fn: async (c: CurrentType) => { 
        const names = selection.value.map((item: { taskNo: string }) => item.taskNo)
        const names = selection.value.map(
          (item: { taskNo: string }) => item.taskNo
        )
        ConfirmBox( 
          `是否删除${names.length ? names.join(',') : c.row.taskNo}` 
        ).then(async () => { 
@@ -270,6 +295,6 @@
    onConfirmWmsTask, 
    onCheck, 
    onAddWmsTask, 
    onAdvancedQuery
    onAdvancedQuery,
  } 
HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts
@@ -28,3 +28,19 @@
export const cloneData = (data: any) => { 
  return request.post('/api/v1/HIAWms/wmsTask/clone', data) 
/**
 * å®Œæˆ
 * @returns
 */
export const finishTask = (data: any) => {
  return request.post('/api/v1/HIAWms/wmsTask/FinishTask', data)
}
/**
 * åˆ é™¤
 * @returns
 */
export const cancelTask = (data: any) => {
  return request.post('/api/v1/HIAWms/wmsTask/CancelTask', data)
}
HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts
@@ -3,6 +3,8 @@
  deleteWmsTasks, 
  addWmsTask, 
  cloneData, 
  finishTask,
  cancelTask,
} from './Service/WmsTask' 
 
export class WmsTask extends Base<{ [key: string]: any }> { 
@@ -38,4 +40,22 @@
  cloneData(ids: string[]) { 
    return cloneData(ids) 
  } 
  /**
   * å®Œæˆä»»åŠ¡
   * @param id
   * @returns
   */
  finishTask(data: Record<string, any>) {
    return finishTask(data)
  }
  /**
   * å–消任务
   * @param id
   * @returns
   */
  cancelTask(data: Record<string, any>) {
    return cancelTask(data)
  }
HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -292,7 +292,7 @@
                <IconButton icon="in">导入</IconButton>
              </el-upload> */}
              <IconButton
              {/* <IconButton
                v-permission="wmsTask-output"
                icon="out"
                onClick={handleExport}
@@ -305,7 +305,7 @@
                onClick={handleExport}
              >
                å–消
              </IconButton>
              </IconButton> */}
            </div>
            <ElFormItem style={{ marginTop: '15px' }}>
              <ElFormItem label="关键字">
HIAWms/project/Wms.cmsproj
Binary files differ
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs
@@ -11,3 +11,15 @@
    /// </summary> 
    public string ConcurrencyStamp { get; set; } 
/// <summary>
/// å–消/完成参数
/// </summary>
public class WmsTaskStatusDto
{
    /// <summary>
    /// ä»»åŠ¡å·
    /// </summary>
    public string TaskNo { get;set; }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs
@@ -1,4 +1,5 @@
using System;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -8,5 +9,11 @@
{
    public interface IWmsOutStockAppService
    {
        /// <summary>
        /// å«æ–™
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task CallMaterialAsync(List<CallMaterialInput> input);
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs
@@ -49,12 +49,12 @@
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task FinishTaskAsync(WmsTaskUpdateDto input);
    Task FinishTaskAsync(WmsTaskStatusDto input);
    /// <summary>
    /// å–消任务
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task CancelTaskAysnc(WmsTaskUpdateDto input);
    Task CancelTaskAysnc(WmsTaskStatusDto input);
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs
@@ -429,7 +429,7 @@
    protected Task CheckCreateOrUpdateDtoAsync(WmsInOutStockRecordCreateOrUpdateDtoBase input)
    {
        Check.NotNull(input, nameof(input));
        Check.NotNullOrWhiteSpace(input.OrderNo, "单据编号", 50);
        //Check.NotNullOrWhiteSpace(input.OrderNo, "单据编号", 50);
        Check.NotNullOrWhiteSpace(input.MaterialNo, "物料件号", 50);
        Check.NotNull(input.ContainerNo, "托盘号");
        Check.NotNull(input.SourcePlace, "起始库位");
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -37,31 +37,38 @@
            _serviceProvider = serviceProvider;
        }
        public async Task CallMaterial(CallMaterialInput input)
        public async Task CallMaterialAsync(List<CallMaterialInput> input)
        {
            using var scope = _serviceProvider.CreateScope();
            var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
            using var uow = unitOfWorkManager.Begin(requiresNew: true);
            var order = await _wmsInOutStockOrderRepository.FindByNameAsync(input.OrderNo);
            var distinctModels = input.Select(x => x.MaterialModel).Distinct().ToList();
            if (distinctModels.Count > 1)
            {
                throw new UserFriendlyException("一次叫料只能针对同一型号的物料!");
            }
            foreach (var inputItem in input)
            {
                var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo);
            if(order == null)
            {
                throw new UserFriendlyException("出库单据不存在");
            }
            if(input.MaterialNumber <=0)
                if (inputItem.MaterialNumber <= 0)
            {
                throw new UserFriendlyException("叫料数量必须大于0");
            }
            if(order.MaterialNumber< input.MaterialNumber)
                if (order.MaterialNumber < inputItem.MaterialNumber)
            {
                throw new UserFriendlyException("叫料数量不能大于单据数量");
            }
            order.OrderStatus = OrderStatusEnum.Executing;
            order.DistributeNumber = input.MaterialNumber;
                order.DistributeNumber = inputItem.MaterialNumber;
            await _wmsInOutStockOrderRepository.UpdateAsync(order);
            var stockresult = await _wmsCommonAppService.FindStockAsync(input.MaterialModel, input.MaterialNumber);
                var stockresult = await _wmsCommonAppService.FindStockAsync(inputItem.MaterialModel, inputItem.MaterialNumber);
            if(stockresult == null)
            {
                throw new UserFriendlyException("当前无库存");
@@ -81,21 +88,22 @@
                        SourcePlace = stock.PlaceNo,
                        ToPlace = "201",// place.PlaceNo,
                        TaskType = TaskTypeEnum.CHUKU,
                        SonTaskType = input.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU,
                            SonTaskType = inputItem.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU,
                        TaskStatus = WmsTaskStatus.WEIZHIXING,
                        TaskLevel = 999,
                            TaskLevel = order.Priority,
                        Aisle = 1,
                        DodeviceId = 0,
                        TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
                        IsNextTask = (int)YesNoEnum.Y,
                        IsRead = true,
                        SourceOrderNo = input.OrderNo,
                        MutableParam1 = input.MaterialModel,
                            SourceOrderNo = inputItem.OrderNo,
                            MutableParam1 = inputItem.MaterialModel,
                    };
                    taskList.Add(task);
                }
            }
            await _wmsTaskRepository.InsertManyAsync(taskList);
            }
            await uow.SaveChangesAsync();
            await uow.CompleteAsync();
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -523,9 +523,8 @@
    /// <param name="input"></param>
    /// <returns></returns>
    /// <exception cref="UserFriendlyException"></exception>
    public async Task FinishTaskAsync(WmsTaskUpdateDto input)
    public async Task FinishTaskAsync(WmsTaskStatusDto input)
    {
        using var scope = _serviceProvider.CreateScope();
        var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
        using var uow = unitOfWorkManager.Begin(requiresNew: true);
@@ -540,6 +539,14 @@
            throw new UserFriendlyException("取消或者完成的任务不允许操作");
        }
        task.TaskStatus = WmsTaskStatus.WANCHENG;
        task.TaskDodeviceStatus = TaskDodeviceStatus.SrmFinish;
        await wmsTaskRepository.UpdateAsync(task);
        var place = await _wmsPlaceRepository.FindByNameAsync(task.ToPlace);
        if (place == null)
        {
            throw new UserFriendlyException("目标库位不存在");
        }
        // æ›´æ–°åº“å­˜
        var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1,PlaceNo = task.SourcePlace});
@@ -549,7 +556,15 @@
        }
        var stock = stockList.FirstOrDefault();
        stock.PlaceNo = task.ToPlace;
        stock.StorageTypeNo = place.StorageTypeNo;
        stock.InStockTime = DateTime.Now;
        stock.ContainerNo = "TP" + task.ToPlace;
        await _wmsMaterialStockRepository.UpdateAsync(stock);
        place.PlaceStatus = PlaceStatusEnum.CUNHUO;
        await _wmsPlaceRepository.UpdateAsync(place);
        var container = await _wmsContainerRepository.FindByNameAsync(stock.ContainerNo);
        if(container == null)
@@ -560,6 +575,11 @@
                ContainerStatus = ContainerStatusEnum.KUWEI,
                ContainerType = ContainerTypeEnum.XUNI,
            });
        }
        else
        {
            container.ContainerStatus = ContainerStatusEnum.KUWEI;
            await _wmsContainerRepository.UpdateAsync(container);
        }
        var oldContainer = await _wmsContainerRepository.FindByNameAsync(task.ContainerNo);
@@ -625,7 +645,7 @@
    /// <param name="input"></param>
    /// <returns></returns>
    /// <exception cref="UserFriendlyException"></exception>
    public async Task CancelTaskAysnc(WmsTaskUpdateDto input)
    public async Task CancelTaskAysnc(WmsTaskStatusDto input)
    {
        using var scope = _serviceProvider.CreateScope();
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs
@@ -46,7 +46,7 @@
                // Properties
                b.Property(x => x.OrderNo)
                    .HasMaxLength(50)
                    .IsRequired()
                    .IsRequired(false)
                    .HasComment("单据编号");
                b.Property(x => x.MaterialName)
HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs
@@ -146,7 +146,7 @@
       .AsQueryable(); // è½¬æ¢å›žIQueryable以支持后续操作
        var result = groupedData
        .OrderBy(sorting.IsNullOrEmpty() ? nameof(WmsMaterialStock.Sort) : sorting)
        .OrderBy(x=>x.StockNumber)
        .PageBy(skipCount, maxResultCount)
        .ToList();
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1786 @@
// <auto-generated />
using System;
using CMS.Plugin.HIAWms.MySQL;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Volo.Abp.EntityFrameworkCore;
#nullable disable
namespace CMS.Plugin.HIAWms.MySQL.Migrations
{
    [DbContext(typeof(CMSPluginDbContext))]
    [Migration("20250511134948_InitialCreate14")]
    partial class InitialCreate14
    {
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql)
                .HasAnnotation("ProductVersion", "6.0.16")
                .HasAnnotation("Relational:MaxIdentifierLength", 64);
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsAreas.WmsArea", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("AreaDesc")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("描述");
                    b.Property<string>("AreaName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("库区名称");
                    b.Property<string>("AreaNo")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("库区编号");
                    b.Property<int>("AreaStatus")
                        .HasColumnType("int")
                        .HasComment("库区状态");
                    b.Property<int>("AreaType")
                        .HasColumnType("int")
                        .HasComment("库区类型");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("StoreCode")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("仓库代码");
                    b.Property<string>("StoreName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("仓库名称");
                    b.HasKey("Id");
                    b.HasIndex("AreaName");
                    b.ToTable("scms_wmsareas", (string)null);
                    b.HasComment("库区表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b =>
                {
                    b.Property<string>("PlaceNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("库位编码");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp")
                        .HasComment("并发戳");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime")
                        .HasComment("创建时间");
                    b.Property<Guid?>("CreatorId")
                        .HasMaxLength(36)
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId")
                        .HasComment("创建人ID");
                    b.Property<string>("CreatorName")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("创建人");
                    b.Property<string>("DeleteRemark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("删除备注");
                    b.Property<Guid?>("DeleterId")
                        .HasMaxLength(36)
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId")
                        .HasComment("删除人ID");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime")
                        .HasComment("删除时间");
                    b.Property<string>("ExtraField1")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("扩展字段1");
                    b.Property<string>("ExtraField2")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("扩展字段2");
                    b.Property<string>("ExtraField3")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("扩展字段3");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties")
                        .HasComment("扩展属性");
                    b.Property<Guid>("Id")
                        .HasColumnType("char(36)");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted")
                        .HasComment("是否删除");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime")
                        .HasComment("修改时间");
                    b.Property<Guid?>("LastModifierId")
                        .HasMaxLength(36)
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId")
                        .HasComment("修改人ID");
                    b.Property<string>("LastModifierName")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("修改人");
                    b.Property<string>("OperationRemark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("操作备注");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.HasKey("PlaceNo", "ContainerNo");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("PlaceNo");
                    b.ToTable("scms_wmscontainerplaces", (string)null);
                    b.HasComment("容器库位关系表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<int>("ContainerStatus")
                        .HasColumnType("int")
                        .HasComment("托盘状态");
                    b.Property<int>("ContainerType")
                        .HasColumnType("int")
                        .HasComment("托盘类型");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int?>("ExceptionNumber")
                        .HasColumnType("int")
                        .HasComment("异常数量");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<decimal?>("LimitHeight")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("限高");
                    b.Property<decimal?>("LimitLength")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("限长");
                    b.Property<decimal?>("LimitWidth")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("限宽");
                    b.Property<int?>("MaterialNumber")
                        .HasColumnType("int")
                        .HasComment("物料数量");
                    b.Property<decimal?>("MaxWeight")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("载重上限");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<decimal?>("SpecHeight")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("高度");
                    b.Property<decimal?>("SpecLength")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("长度");
                    b.Property<decimal?>("SpecWidth")
                        .HasPrecision(18, 2)
                        .HasColumnType("decimal(18,2)")
                        .HasComment("宽度");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo")
                        .IsUnique();
                    b.HasIndex("ContainerStatus");
                    b.HasIndex("ContainerType");
                    b.ToTable("scms_wmscontainers", (string)null);
                    b.HasComment("托盘信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int>("CompleteNumber")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("完成数量");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int>("DistributeNumber")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("下发数量");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("批次号");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("型号");
                    b.Property<string>("MaterialName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料件号");
                    b.Property<int>("MaterialNumber")
                        .HasColumnType("int")
                        .HasComment("单据数量");
                    b.Property<DateTime?>("OperateTime")
                        .HasColumnType("datetime(6)")
                        .HasComment("操作时间");
                    b.Property<string>("OrderNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
                    b.Property<int>("OrderStatus")
                        .HasColumnType("int")
                        .HasComment("单据状态");
                    b.Property<int>("OrderType")
                        .HasColumnType("int")
                        .HasComment("单据类型");
                    b.Property<string>("PlanNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("关联计划编号");
                    b.Property<int>("Priority")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(1)
                        .HasComment("优先级");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<int>("StockType")
                        .HasColumnType("int")
                        .HasComment("操作类型(枚举值)");
                    b.HasKey("Id");
                    b.HasIndex("MaterialBatch");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("OperateTime");
                    b.HasIndex("OrderNo")
                        .IsUnique();
                    b.HasIndex("PlanNo");
                    b.ToTable("scms_wmsinoutstockorder", (string)null);
                    b.HasComment("出入库单据表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("容器编号");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料批次");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料唯一码");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("机型");
                    b.Property<string>("MaterialName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料件号");
                    b.Property<string>("OrderNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
                    b.Property<int>("OrderType")
                        .HasColumnType("int")
                        .HasComment("单据类型(枚举值)");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialId");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("OrderNo");
                    b.HasIndex("OrderNo", "OrderType");
                    b.ToTable("scms_wmsinoutstockorderdetail", (string)null);
                    b.HasComment("出入库单据明细表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("容器编号");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料批次");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料ID");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("机型");
                    b.Property<string>("MaterialName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料件号");
                    b.Property<DateTime?>("OperateTime")
                        .HasColumnType("datetime(6)")
                        .HasComment("操作时间");
                    b.Property<string>("OrderNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("SourcePlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("起始库位");
                    b.Property<int>("StockType")
                        .HasColumnType("int")
                        .HasComment("操作类型");
                    b.Property<string>("TaskNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("任务号");
                    b.Property<string>("ToPlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("目标库位");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialId");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("OperateTime");
                    b.HasIndex("OrderNo");
                    b.HasIndex("StockType");
                    b.HasIndex("TaskNo");
                    b.ToTable("scms_wmsinoutstockrecords", (string)null);
                    b.HasComment("出入库记录表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b =>
                {
                    b.Property<string>("MaterialId")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料ID");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<Guid>("Id")
                        .HasColumnType("char(36)");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<int>("Sort")
                        .HasColumnType("int");
                    b.HasKey("MaterialId", "ContainerNo");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialId");
                    b.ToTable("scms_wmsmaterialcontainer", (string)null);
                    b.HasComment("物料容器关系表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int?>("CheckStatus")
                        .HasColumnType("int")
                        .HasComment("检验状态(0:未检验,1:检验通过,2:检验不通过)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料批号");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料唯一码");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("机型/规格");
                    b.Property<string>("MaterialName")
                        .IsRequired()
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("物料代号");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)")
                        .HasComment("冗余字段1");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)")
                        .HasComment("冗余字段2");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(255)
                        .HasColumnType("varchar(255)")
                        .HasComment("冗余字段3");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<int?>("StockNumber")
                        .HasColumnType("int")
                        .HasComment("库存数量");
                    b.Property<string>("SupplierCode")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("供应商编号");
                    b.HasKey("Id");
                    b.HasIndex("CheckStatus");
                    b.HasIndex("MaterialBatch");
                    b.HasIndex("MaterialId")
                        .IsUnique();
                    b.HasIndex("MaterialName");
                    b.HasIndex("MaterialNo")
                        .IsUnique();
                    b.HasIndex("SupplierCode");
                    b.ToTable("scms_wmsmaterialinfos", (string)null);
                    b.HasComment("WMS物料信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("Certification")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("证书编号");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<string>("Factory")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("生产工厂");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasComment("是否禁用");
                    b.Property<int>("IsMainBranch")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("是否为主支管");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<decimal>("Length")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("长度(单位:m)");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("型号");
                    b.Property<string>("MaterialName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料编码(唯一标识)");
                    b.Property<string>("MaterialQuality")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("材质(如:304不锈钢)");
                    b.Property<int>("MaterialType")
                        .HasColumnType("int")
                        .HasComment("物料类型(枚举值)");
                    b.Property<decimal>("OuterDiameter")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("外径(单位:mm)");
                    b.Property<string>("PrimaryUnit")
                        .HasMaxLength(20)
                        .HasColumnType("varchar(20)")
                        .HasComment("主单位(如:kg、m、个)");
                    b.Property<int>("PurchaseType")
                        .HasColumnType("int")
                        .HasComment("采购类型(枚举值)");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<string>("Standard")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("规格/标准(如:GB/T 8163-2018)");
                    b.Property<decimal>("WallThickness")
                        .HasColumnType("decimal(18,2)")
                        .HasComment("壁厚(单位:mm)");
                    b.HasKey("Id");
                    b.HasIndex("MaterialName");
                    b.HasIndex("MaterialNo")
                        .IsUnique();
                    b.HasIndex("MaterialType");
                    b.HasIndex("PurchaseType");
                    b.ToTable("scms_wmsmaterials", (string)null);
                    b.HasComment("物料基础信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("AreaCode")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("区域编号");
                    b.Property<string>("AreaName")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("库区名称");
                    b.Property<int?>("CheckStatus")
                        .HasColumnType("int")
                        .HasComment("检验状态(1:未检验,2:检验通过,3:检验不通过)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("容器编号");
                    b.Property<int>("ContainerStatus")
                        .HasColumnType("int")
                        .HasComment("容器状态");
                    b.Property<int>("ContainerType")
                        .HasColumnType("int")
                        .HasComment("容器类型");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int>("EmptyContainer")
                        .HasColumnType("int")
                        .HasComment("是否空托(2:否,1:是)");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<DateTime?>("InStockTime")
                        .HasColumnType("datetime(6)")
                        .HasComment("入库时间");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<int>("IsLock")
                        .HasColumnType("int")
                        .HasComment("是否锁定(2:未锁定,1:已锁定)");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MaterialBatch")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料批次");
                    b.Property<string>("MaterialId")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料ID");
                    b.Property<string>("MaterialModel")
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("机型/规格");
                    b.Property<string>("MaterialName")
                        .IsRequired()
                        .HasMaxLength(128)
                        .HasColumnType("varchar(128)")
                        .HasComment("物料名称");
                    b.Property<string>("MaterialNo")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("物料编号");
                    b.Property<string>("PlaceNo")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("库位编号");
                    b.Property<int>("PlaceStatus")
                        .HasColumnType("int")
                        .HasComment("库位状态;");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(500)
                        .HasColumnType("varchar(500)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int")
                        .HasDefaultValue(0)
                        .HasComment("排序");
                    b.Property<int>("StockNumber")
                        .HasColumnType("int")
                        .HasComment("库存数量");
                    b.Property<int>("StorageTypeNo")
                        .HasColumnType("int")
                        .HasComment("库位类型");
                    b.Property<string>("SupplierCode")
                        .HasMaxLength(64)
                        .HasColumnType("varchar(64)")
                        .HasComment("供应商编号");
                    b.HasKey("Id");
                    b.HasIndex("AreaCode");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("MaterialName");
                    b.HasIndex("MaterialNo");
                    b.HasIndex("PlaceNo");
                    b.HasIndex("MaterialBatch", "SupplierCode");
                    b.ToTable("scms_wmsmaterialstocks", (string)null);
                    b.HasComment("WMS物料库存表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int>("Aisle")
                        .HasColumnType("int")
                        .HasComment("巷道");
                    b.Property<string>("AreaCode")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("所在库区");
                    b.Property<int>("ColumnNo")
                        .HasColumnType("int")
                        .HasComment("列");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int>("EmptyContainer")
                        .HasColumnType("int")
                        .HasComment("是否空托");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<int>("Islock")
                        .HasColumnType("int")
                        .HasComment("是否锁定");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<int>("LayerNo")
                        .HasColumnType("int")
                        .HasComment("层");
                    b.Property<int>("MaxStockNumber")
                        .HasColumnType("int")
                        .HasComment("最大库存量");
                    b.Property<string>("PlaceNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("编号");
                    b.Property<int>("PlaceStatus")
                        .HasColumnType("int")
                        .HasComment("货位状态");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("RowNo")
                        .HasColumnType("int")
                        .HasComment("排");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<int>("StorageTypeNo")
                        .HasColumnType("int")
                        .HasComment("货位类型");
                    b.HasKey("Id");
                    b.HasIndex("AreaCode");
                    b.HasIndex("PlaceNo")
                        .IsUnique();
                    b.HasIndex("PlaceStatus");
                    b.HasIndex("StorageTypeNo");
                    b.ToTable("scms_wmsplaces", (string)null);
                    b.HasComment("库位表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("RedundantField1")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段1 - é¢„留扩展用途");
                    b.Property<string>("RedundantField2")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段2 - é¢„留扩展用途");
                    b.Property<string>("RedundantField3")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("冗余字段3 - é¢„留扩展用途");
                    b.Property<string>("Remark")
                        .HasMaxLength(256)
                        .HasColumnType("varchar(256)")
                        .HasComment("备注");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("StoreCode")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("仓库代码");
                    b.Property<string>("StoreName")
                        .HasMaxLength(100)
                        .HasColumnType("varchar(100)")
                        .HasComment("仓库名称");
                    b.HasKey("Id");
                    b.HasIndex("StoreName");
                    b.ToTable("scms_wmsstores", (string)null);
                    b.HasComment("仓库信息表");
                });
            modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("char(36)");
                    b.Property<int?>("Aisle")
                        .HasColumnType("int")
                        .HasComment("巷道");
                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasMaxLength(40)
                        .HasColumnType("varchar(40)")
                        .HasColumnName("ConcurrencyStamp");
                    b.Property<string>("ContainerNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("托盘编号");
                    b.Property<DateTime>("CreationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("CreationTime");
                    b.Property<Guid?>("CreatorId")
                        .HasColumnType("char(36)")
                        .HasColumnName("CreatorId");
                    b.Property<Guid?>("DeleterId")
                        .HasColumnType("char(36)")
                        .HasColumnName("DeleterId");
                    b.Property<DateTime?>("DeletionTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("DeletionTime");
                    b.Property<int?>("DodeviceId")
                        .HasColumnType("int")
                        .HasComment("堆垛机ID");
                    b.Property<int>("Dodevicetype")
                        .HasColumnType("int")
                        .HasComment("设备类型");
                    b.Property<string>("ExtraProperties")
                        .HasColumnType("longtext")
                        .HasColumnName("ExtraProperties");
                    b.Property<bool>("IsDeleted")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("tinyint(1)")
                        .HasDefaultValue(false)
                        .HasColumnName("IsDeleted");
                    b.Property<bool?>("IsDisabled")
                        .HasColumnType("tinyint(1)")
                        .HasComment("是否禁用");
                    b.Property<int?>("IsNextTask")
                        .HasColumnType("int")
                        .HasComment("下个任务是否生成成功");
                    b.Property<bool>("IsRead")
                        .HasColumnType("tinyint(1)")
                        .HasComment("WCS是否可以读取");
                    b.Property<DateTime?>("LastModificationTime")
                        .HasColumnType("datetime(6)")
                        .HasColumnName("LastModificationTime");
                    b.Property<Guid?>("LastModifierId")
                        .HasColumnType("char(36)")
                        .HasColumnName("LastModifierId");
                    b.Property<string>("MutableParam1")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量1");
                    b.Property<string>("MutableParam2")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量2");
                    b.Property<string>("MutableParam3")
                        .HasMaxLength(200)
                        .HasColumnType("varchar(200)")
                        .HasComment("可变变量3");
                    b.Property<int?>("SonTaskType")
                        .HasColumnType("int")
                        .HasComment("子任务类型");
                    b.Property<int>("Sort")
                        .HasColumnType("int")
                        .HasComment("排序");
                    b.Property<string>("SourceOrderNo")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("来源单据号");
                    b.Property<string>("SourcePlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("起始库位");
                    b.Property<int>("TaskDodeviceStatus")
                        .HasColumnType("int")
                        .HasComment("设备任务状态");
                    b.Property<int>("TaskLevel")
                        .HasColumnType("int")
                        .HasComment("任务等级");
                    b.Property<string>("TaskNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("任务号");
                    b.Property<int>("TaskStatus")
                        .HasColumnType("int")
                        .HasComment("任务状态");
                    b.Property<int>("TaskType")
                        .HasColumnType("int")
                        .HasComment("任务类型");
                    b.Property<string>("ToPlace")
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("目标库位");
                    b.HasKey("Id");
                    b.HasIndex("ContainerNo");
                    b.HasIndex("DodeviceId");
                    b.HasIndex("IsRead");
                    b.HasIndex("Sort");
                    b.HasIndex("SourceOrderNo");
                    b.HasIndex("SourcePlace");
                    b.HasIndex("TaskNo")
                        .IsUnique();
                    b.HasIndex("TaskStatus");
                    b.HasIndex("TaskType");
                    b.HasIndex("ToPlace");
                    b.ToTable("scms_wmstasks", (string)null);
                    b.HasComment("任务表");
                });
#pragma warning restore 612, 618
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace CMS.Plugin.HIAWms.MySQL.Migrations
{
    public partial class InitialCreate14 : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.AlterColumn<string>(
                name: "OrderNo",
                table: "scms_wmsinoutstockrecords",
                type: "varchar(50)",
                maxLength: 50,
                nullable: true,
                comment: "单据编号",
                oldClrType: typeof(string),
                oldType: "varchar(50)",
                oldMaxLength: 50,
                oldComment: "单据编号")
                .Annotation("MySql:CharSet", "utf8mb4")
                .OldAnnotation("MySql:CharSet", "utf8mb4");
        }
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.UpdateData(
                table: "scms_wmsinoutstockrecords",
                keyColumn: "OrderNo",
                keyValue: null,
                column: "OrderNo",
                value: "");
            migrationBuilder.AlterColumn<string>(
                name: "OrderNo",
                table: "scms_wmsinoutstockrecords",
                type: "varchar(50)",
                maxLength: 50,
                nullable: false,
                comment: "单据编号",
                oldClrType: typeof(string),
                oldType: "varchar(50)",
                oldMaxLength: 50,
                oldNullable: true,
                oldComment: "单据编号")
                .Annotation("MySql:CharSet", "utf8mb4")
                .OldAnnotation("MySql:CharSet", "utf8mb4");
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs
@@ -775,7 +775,6 @@
                        .HasComment("操作时间");
                    b.Property<string>("OrderNo")
                        .IsRequired()
                        .HasMaxLength(50)
                        .HasColumnType("varchar(50)")
                        .HasComment("单据编号");
HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat
@@ -1,5 +1,5 @@
cd ../
dotnet ef migrations add InitialCreate13 -c CMSPluginDbContext -o Migrations
dotnet ef migrations add InitialCreate14 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update1 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update2 -c CMSPluginDbContext -o Migrations
::dotnet ef migrations add Update3 -c CMSPluginDbContext -o Migrations
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Controller
{
    /// <summary>
    /// å‡ºåº“服务
    /// </summary>
    [ApiController]
    [TypeFilter(typeof(CMSLanguageFilter))]
    [TypeFilter(typeof(CMSUowActionFilter))]
    [TypeFilter(typeof(CMSAuditActionFilter))]
    [TypeFilter(typeof(CMSExceptionFilter))]
    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
    public class WmsOutStockController : ControllerBase
    {
        private readonly IWmsOutStockAppService _wmsOutStockAppService;
        public WmsOutStockController(IWmsOutStockAppService wmsOutStockAppService)
        {
            _wmsOutStockAppService = wmsOutStockAppService;
        }
        /// <summary>
        /// å«æ–™
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("CallMaterial")]
        public async Task CallMaterialAsync(List<CallMaterialInput> input)
        {
            await _wmsOutStockAppService.CallMaterialAsync(input);
        }
    }
}
HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs
@@ -192,7 +192,7 @@
        /// <returns></returns>
        [HttpPost]
        [Route("FinishTask")]
        public async Task FinishTaskAsync(WmsTaskUpdateDto input)
        public async Task FinishTaskAsync(WmsTaskStatusDto input)
        {
            await _wmsTaskAppService.FinishTaskAsync(input);
        }
@@ -204,7 +204,7 @@
        /// <returns></returns>
        [HttpPost]
        [Route("CancelTask")]
        public async Task CancelTaskAsync(WmsTaskUpdateDto input)
        public async Task CancelTaskAsync(WmsTaskStatusDto input)
        {
            await _wmsTaskAppService.CancelTaskAysnc(input);
        }