From 3aedad63dd01f1fc5154cb520af32edab967d6e0 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周一, 12 5月 2025 09:15:26 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs | 1 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs | 46 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs | 108 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts | 68 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx | 15 HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx | 4 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs | 4 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.cs | 51 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts | 554 ++++---- HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts | 2 HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts | 4 HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat | 2 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs | 2 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx | 72 + HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.tsx | 4 HIAWms/project/Wms.cmsproj | 0 HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs | 2 HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs | 43 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts | 92 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs | 4 HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts | 575 ++++---- HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.Designer.cs | 1786 +++++++++++++++++++++++++++ HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts | 76 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsOutOrderCallMaterialDialog.tsx | 215 +++ HIAWms/hiawms_web/components.d.ts | 2 HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts | 102 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs | 12 HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs | 2 HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs | 9 29 files changed, 3,085 insertions(+), 772 deletions(-) diff --git a/HIAWms/hiawms_web/components.d.ts b/HIAWms/hiawms_web/components.d.ts index 135cdd6..2dc2f1f 100644 --- a/HIAWms/hiawms_web/components.d.ts +++ b/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'] diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts index 17cd8a6..1274c90 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsInOutStockOrder.ts @@ -1,275 +1,279 @@ -import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' -import { injectModel } from '@/libs/Provider/Provider' -import { WmsInOutStockOrder } from '../Models/WmsInOutStockOrder' -import { ElMessage } from 'element-plus' -import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' -import { useFile } from './File' - -interface CurrentType { - row: any - index: number -} -export const useWmsInOutStockOrder = (props: any, ctx?: any) => { - const wmsInOutStockOrder = injectModel<WmsInOutStockOrder>('wmsInOutStockOrder') - const { exportFile } = useFile() - /** - * 澶撮儴閰嶇疆 - */ - const headers = ref({}) - /** - * 鍔ㄦ�佸垪閰嶇疆 - */ - const wmsInOutStockOrderColumns = ref<Record<string, any>>([]) - /** - * 鎼滅储鍊� - */ - const search = ref('') - - /** - * 鎺掑簭 - */ - const sort = ref(0) - /** - * 閫夋嫨椤� - */ - const selection = ref([]) - /** - * 褰撳墠閫変腑鐨勮 - */ - const current = ref<any>(null) - /** - * 鏁版嵁婧� - */ - const dataSource: Ref<any[]> = ref([]) - - /** - * 琛ㄦ牸 - */ - const tableRef = ref() - const dialogConfig = reactive({ - visible: false, - title: '', - isAdd: false, - }) - const dialogConfigForQuery = reactive({ - visible: false, - title: '', - isAdd: false, - }) - - - const dialogSettingConfig = reactive({ - visible: false, - title: '', - }) - - /** - * 鍒嗛〉鏁版嵁 - */ - const paginationParams = ref({}) - - /** - * 鎵撳紑璇︽儏 - * @param row - */ - const openDetail = (row: any) => { - current.value = row - dialogConfig.visible = true - dialogConfig.title = row.name - dialogConfig.isAdd = false - sort.value = row.sort - } - - const contextMenu = [ - { - label: '灞曞紑璇︽儏', - fn: (c: CurrentType) => { - current.value = null - sort.value = c.row.sort - nextTick(() => openDetail(c.row)) - }, - divided: true, - icon: 'o', - }, - // { - // label: '鍚戜笂娣诲姞', - // fn: (c: CurrentType, pageNum: number) => { - // current.value = null - // sort.value = c.index + 1 + (pageNum - 1) * 50 - // dialogConfig.visible = true - // dialogConfig.title = '娣诲姞' - // dialogConfig.isAdd = false - // }, - // 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 ids = selection.value.map((item: { id: string }) => item.id) - await wmsInOutStockOrder.deleteWmsInOutStockOrders(ids.length ? ids : [c.row.id]) - ElMessage.success('鍒犻櫎鎴愬姛') - tableRef.value.getList() - }) - }, - icon: 'close', - }, - ] - - const onCheck = (records: any) => { - selection.value = records - } - - const onAddWmsInOutStockOrder = () => { - const params = tableRef.value?.getPaginationParams() - current.value = null - dialogConfig.visible = true - dialogConfig.isAdd = true - dialogConfig.title = '娣诲姞' - sort.value = params.totalCount + 1 - } - - //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� - const onAdvancedQuery = () => { - const params = tableRef.value?.getPaginationParams() - current.value = null - dialogConfigForQuery.visible = true - dialogConfigForQuery.isAdd = true - dialogConfigForQuery.title = '楂樼骇鏌ヨ' - } - - const onConfirmWmsInOutStockOrder = async () => { - dialogConfig.visible = false - if (dialogConfig.isAdd) { - tableRef.value?.scrollToRow({ - skip: true, - }) - } else { - await tableRef.value?.getList() - } - } - /** - * 琛岀偣鍑绘椂鏇存柊current - */ - const onRowClick = ({ row }: any) => { - if (dialogConfig.visible && current.value) { - current.value = row - } - } - /** - * 瀵煎嚭 - */ - const onExport = (data={}) => { - //const params = tableRef.value?.getParams() - exportFile('/api/v1/HIAWms/wmsInOutStockOrder/export', data, 'wmsInOutStockOrder') - } - - /** - * 鍏抽敭瀛楁悳绱� - */ - const onSearch = () => { - tableRef.value?.getList({ - Filter: search.value, - }) - } - - /** - * 閲嶇疆琛ㄦ牸鏁版嵁 - */ - const reloadList = () => { - tableRef.value?.getList() - } - /** - * 涓婁紶鎴愬姛 - */ - const onSuccess = () => { - tableRef.value?.getList() - ElMessage.success('瀵煎叆鎴愬姛') - } - /** - * 澶辫触 - * @param err - */ - const onError = (err: any) => { - try { - const message = JSON.parse(err.message) - ElMessage.error(message.msg) - } catch (error) { - ElMessage.error('瀵煎叆澶辫触') - } - } - /** - * 涓婁紶閽╁瓙 - */ - const onBeforeUpload = (file: File) => { - const format = ['xlsx', 'xls', 'csv'] - if (!format.includes(file.name.split('.')[1])) { - ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�') - return false - } - return true - } - - onMounted(() => { - headers.value = { - Authorization: `Bearer ${sessionStorage.getItem('Token')}`, - 'X-Project': sessionStorage.getItem('X-Project'), - } - }) - - ctx.expose({ - reloadList, - }) - - return { - dataSource, - contextMenu, - dialogConfig, - dialogConfigForQuery, - dialogSettingConfig, - tableRef, - current, - search, - sort, - wmsInOutStockOrderColumns, - paginationParams, - headers, - onBeforeUpload, - onError, - onSuccess, - openDetail, - onSearch, - onExport, - onRowClick, - onConfirmWmsInOutStockOrder, - onCheck, - onAddWmsInOutStockOrder, - onAdvancedQuery - } -} +import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsInOutStockOrder } from '../Models/WmsInOutStockOrder' +import { ElMessage } from 'element-plus' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { useFile } from './File' + +interface CurrentType { + row: any + index: number +} +export const useWmsInOutStockOrder = (props: any, ctx?: any) => { + const wmsInOutStockOrder = + injectModel<WmsInOutStockOrder>('wmsInOutStockOrder') + const { exportFile } = useFile() + /** + * 澶撮儴閰嶇疆 + */ + const headers = ref({}) + /** + * 鍔ㄦ�佸垪閰嶇疆 + */ + const wmsInOutStockOrderColumns = ref<Record<string, any>>([]) + /** + * 鎼滅储鍊� + */ + const search = ref('') + + /** + * 鎺掑簭 + */ + const sort = ref(0) + /** + * 閫夋嫨椤� + */ + const selection = ref([]) + /** + * 褰撳墠閫変腑鐨勮 + */ + const current = ref<any>(null) + /** + * 鏁版嵁婧� + */ + const dataSource: Ref<any[]> = ref([]) + + /** + * 琛ㄦ牸 + */ + const tableRef = ref() + const dialogConfig = reactive({ + visible: false, + title: '', + isAdd: false, + }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) + + const dialogSettingConfig = reactive({ + visible: false, + title: '', + }) + + /** + * 鍒嗛〉鏁版嵁 + */ + const paginationParams = ref({}) + + /** + * 鎵撳紑璇︽儏 + * @param row + */ + const openDetail = (row: any) => { + current.value = row + dialogConfig.visible = true + dialogConfig.title = row.name + dialogConfig.isAdd = false + sort.value = row.sort + } + + const contextMenu = [ + { + label: '灞曞紑璇︽儏', + fn: (c: CurrentType) => { + current.value = null + sort.value = c.row.sort + nextTick(() => openDetail(c.row)) + }, + divided: true, + icon: 'o', + }, + // { + // label: '鍚戜笂娣诲姞', + // fn: (c: CurrentType, pageNum: number) => { + // current.value = null + // sort.value = c.index + 1 + (pageNum - 1) * 50 + // dialogConfig.visible = true + // dialogConfig.title = '娣诲姞' + // dialogConfig.isAdd = false + // }, + // divided: true, + // icon: 'up', + // }, + { + 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 + ) + 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] + ) + ElMessage.success('鍒犻櫎鎴愬姛') + tableRef.value.getList() + }) + }, + icon: 'close', + }, + ] + + const onCheck = (records: any) => { + selection.value = records + } + + const onAddWmsInOutStockOrder = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfig.visible = true + dialogConfig.isAdd = true + dialogConfig.title = '娣诲姞' + sort.value = params.totalCount + 1 + } + + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' + } + + const onConfirmWmsInOutStockOrder = async () => { + dialogConfig.visible = false + if (dialogConfig.isAdd) { + tableRef.value?.scrollToRow({ + skip: true, + }) + } else { + await tableRef.value?.getList() + } + } + /** + * 琛岀偣鍑绘椂鏇存柊current + */ + const onRowClick = ({ row }: any) => { + if (dialogConfig.visible && current.value) { + current.value = row + } + } + /** + * 瀵煎嚭 + */ + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile( + '/api/v1/HIAWms/wmsInOutStockOrder/export', + data, + 'wmsInOutStockOrder' + ) + } + + /** + * 鍏抽敭瀛楁悳绱� + */ + const onSearch = () => { + tableRef.value?.getList({ + Filter: search.value, + }) + } + + /** + * 閲嶇疆琛ㄦ牸鏁版嵁 + */ + const reloadList = () => { + tableRef.value?.getList() + } + /** + * 涓婁紶鎴愬姛 + */ + const onSuccess = () => { + tableRef.value?.getList() + ElMessage.success('瀵煎叆鎴愬姛') + } + /** + * 澶辫触 + * @param err + */ + const onError = (err: any) => { + try { + const message = JSON.parse(err.message) + ElMessage.error(message.msg) + } catch (error) { + ElMessage.error('瀵煎叆澶辫触') + } + } + /** + * 涓婁紶閽╁瓙 + */ + const onBeforeUpload = (file: File) => { + const format = ['xlsx', 'xls', 'csv'] + if (!format.includes(file.name.split('.')[1])) { + ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�') + return false + } + return true + } + + onMounted(() => { + headers.value = { + Authorization: `Bearer ${sessionStorage.getItem('Token')}`, + 'X-Project': sessionStorage.getItem('X-Project'), + } + }) + + ctx.expose({ + reloadList, + }) + + return { + dataSource, + contextMenu, + dialogConfig, + dialogConfigForQuery, + dialogSettingConfig, + tableRef, + current, + search, + sort, + wmsInOutStockOrderColumns, + paginationParams, + headers, + onBeforeUpload, + onError, + onSuccess, + openDetail, + onSearch, + onExport, + onRowClick, + onConfirmWmsInOutStockOrder, + onCheck, + onAddWmsInOutStockOrder, + onAdvancedQuery, + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsOutOrderCallMaterialDialog.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Controllers/WmsOutOrderCallMaterialDialog.tsx new file mode 100644 index 0000000..97f03d7 --- /dev/null +++ b/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> + ) + } + }, +}) diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts index b8d8a45..bf6247a 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/Service/WmsInOutStockOrder.ts @@ -1,30 +1,38 @@ -import { Base } from '@/libs/Base/Base' -const request = Base.request - -/** - * 娣诲姞 - * @returns - */ -export const addWmsInOutStockOrder = (data: any) => { - return request.post('/api/v1/HIAWms/wmsInOutStockOrder', data) -} - -/** - * 鎵归噺鍒犻櫎 - * @returns - */ -export const deleteWmsInOutStockOrders = (ids: string[]) => { - return request({ - data: ids, - url: '/api/v1/HIAWms/wmsInOutStockOrder', - method: 'delete', - }) -} - -/** - * 鍏嬮殕 - * @returns - */ -export const cloneData = (data: any) => { - return request.post('/api/v1/HIAWms/wmsInOutStockOrder/clone', data) -} +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsInOutStockOrder = (data: any) => { + return request.post('/api/v1/HIAWms/wmsInOutStockOrder', data) +} + +/** + * 鎵归噺鍒犻櫎 + * @returns + */ +export const deleteWmsInOutStockOrders = (ids: string[]) => { + return request({ + data: ids, + url: '/api/v1/HIAWms/wmsInOutStockOrder', + method: 'delete', + }) +} + +/** + * 鍏嬮殕 + * @returns + */ +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) +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts index d262b6a..988e83b 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Models/WmsInOutStockOrder.ts @@ -1,41 +1,51 @@ -import { Base } from '@/libs/Base/Base' -import { - deleteWmsInOutStockOrders, - addWmsInOutStockOrder, - cloneData, -} from './Service/WmsInOutStockOrder' - -export class WmsInOutStockOrder extends Base<{ [key: string]: any }> { - constructor() { - super({ - data: [], - }) - } - onMounted() {} - /** - * 鍒犻櫎 - * @param id - * @returns - */ - async deleteWmsInOutStockOrders(ids: string[]) { - return deleteWmsInOutStockOrders(ids) - } - - /** - * 娣诲姞鏁版嵁 - * @param data - * @returns - */ - addWmsInOutStockOrder(data: Record<string, any>) { - return addWmsInOutStockOrder(data) - } - - /** - * 鍏嬮殕 - * @param ids - * @returns - */ - cloneData(ids: string[]) { - return cloneData(ids) - } -} +import { Base } from '@/libs/Base/Base' +import { + deleteWmsInOutStockOrders, + addWmsInOutStockOrder, + cloneData, + wmsInOutStockOrderCall, +} from './Service/WmsInOutStockOrder' + +export class WmsInOutStockOrder extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + }) + } + onMounted() {} + /** + * 鍒犻櫎 + * @param id + * @returns + */ + async deleteWmsInOutStockOrders(ids: string[]) { + return deleteWmsInOutStockOrders(ids) + } + + /** + * 娣诲姞鏁版嵁 + * @param data + * @returns + */ + addWmsInOutStockOrder(data: Record<string, any>) { + return addWmsInOutStockOrder(data) + } + + /** + * 鍏嬮殕 + * @param ids + * @returns + */ + cloneData(ids: string[]) { + return cloneData(ids) + } + + /** + * 鍙枡 + * @param data + * @returns + */ + wmsInOutStockOrderCall(data: Record<string, any>) { + return wmsInOutStockOrderCall(data) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx index 957d251..7fec7c0 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx +++ b/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" > 鍙枡 diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.tsx index c464fc7..90f8d95 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrderDetail/Views/Pages/WmsInOutStockOrderDetail/WmsInOutStockOrderDetail.tsx +++ b/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="鍏抽敭瀛�"> diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts b/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts index 3e45265..b48cc5a 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockRecord/Views/Pages/WmsInOutStockRecord/Config.ts @@ -45,6 +45,10 @@ title: '鍨嬪彿', }, { + field: 'materialBatch', + title: '鎵规', + }, + { field: 'remark', title: '澶囨敞', }, diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts index c717bf9..9684a90 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer.ts +++ b/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`) } diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx index 1f7ca80..63d362d 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx @@ -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) => ({ diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts b/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts index 731d5d2..5233f95 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Controllers/WmsTask.ts @@ -1,275 +1,300 @@ -import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' -import { injectModel } from '@/libs/Provider/Provider' -import { WmsTask } from '../Models/WmsTask' -import { ElMessage } from 'element-plus' -import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' -import { useFile } from './File' - -interface CurrentType { - row: any - index: number -} -export const useWmsTask = (props: any, ctx?: any) => { - const wmsTask = injectModel<WmsTask>('wmsTask') - const { exportFile } = useFile() - /** - * 澶撮儴閰嶇疆 - */ - const headers = ref({}) - /** - * 鍔ㄦ�佸垪閰嶇疆 - */ - const wmsTaskColumns = ref<Record<string, any>>([]) - /** - * 鎼滅储鍊� - */ - const search = ref('') - - /** - * 鎺掑簭 - */ - const sort = ref(0) - /** - * 閫夋嫨椤� - */ - const selection = ref([]) - /** - * 褰撳墠閫変腑鐨勮 - */ - const current = ref<any>(null) - /** - * 鏁版嵁婧� - */ - const dataSource: Ref<any[]> = ref([]) - - /** - * 琛ㄦ牸 - */ - const tableRef = ref() - const dialogConfig = reactive({ - visible: false, - title: '', - isAdd: false, - }) - const dialogConfigForQuery = reactive({ - visible: false, - title: '', - isAdd: false, - }) - - - const dialogSettingConfig = reactive({ - visible: false, - title: '', - }) - - /** - * 鍒嗛〉鏁版嵁 - */ - const paginationParams = ref({}) - - /** - * 鎵撳紑璇︽儏 - * @param row - */ - const openDetail = (row: any) => { - current.value = row - dialogConfig.visible = true - dialogConfig.title = row.name - dialogConfig.isAdd = false - sort.value = row.sort - } - - const contextMenu = [ - { - label: '灞曞紑璇︽儏', - fn: (c: CurrentType) => { - current.value = null - sort.value = c.row.sort - nextTick(() => openDetail(c.row)) - }, - divided: true, - icon: 'o', - }, - // { - // label: '鍚戜笂娣诲姞', - // fn: (c: CurrentType, pageNum: number) => { - // current.value = null - // sort.value = c.index + 1 + (pageNum - 1) * 50 - // dialogConfig.visible = true - // dialogConfig.title = '娣诲姞' - // dialogConfig.isAdd = false - // }, - // 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 names = selection.value.map((item: { taskNo: string }) => item.taskNo) - ConfirmBox( - `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.taskNo}` - ).then(async () => { - const ids = selection.value.map((item: { id: string }) => item.id) - await wmsTask.deleteWmsTasks(ids.length ? ids : [c.row.id]) - ElMessage.success('鍒犻櫎鎴愬姛') - tableRef.value.getList() - }) - }, - icon: 'close', - }, - ] - - const onCheck = (records: any) => { - selection.value = records - } - - const onAddWmsTask = () => { - const params = tableRef.value?.getPaginationParams() - current.value = null - dialogConfig.visible = true - dialogConfig.isAdd = true - dialogConfig.title = '娣诲姞' - sort.value = params.totalCount + 1 - } - - //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� - const onAdvancedQuery = () => { - const params = tableRef.value?.getPaginationParams() - current.value = null - dialogConfigForQuery.visible = true - dialogConfigForQuery.isAdd = true - dialogConfigForQuery.title = '楂樼骇鏌ヨ' - } - - const onConfirmWmsTask = async () => { - dialogConfig.visible = false - if (dialogConfig.isAdd) { - tableRef.value?.scrollToRow({ - skip: true, - }) - } else { - await tableRef.value?.getList() - } - } - /** - * 琛岀偣鍑绘椂鏇存柊current - */ - const onRowClick = ({ row }: any) => { - if (dialogConfig.visible && current.value) { - current.value = row - } - } - /** - * 瀵煎嚭 - */ - const onExport = (data={}) => { - //const params = tableRef.value?.getParams() - exportFile('/api/v1/HIAWms/wmsTask/export', data, 'HIAWms') - } - - /** - * 鍏抽敭瀛楁悳绱� - */ - const onSearch = () => { - tableRef.value?.getList({ - Filter: search.value, - }) - } - - /** - * 閲嶇疆琛ㄦ牸鏁版嵁 - */ - const reloadList = () => { - tableRef.value?.getList() - } - /** - * 涓婁紶鎴愬姛 - */ - const onSuccess = () => { - tableRef.value?.getList() - ElMessage.success('瀵煎叆鎴愬姛') - } - /** - * 澶辫触 - * @param err - */ - const onError = (err: any) => { - try { - const message = JSON.parse(err.message) - ElMessage.error(message.msg) - } catch (error) { - ElMessage.error('瀵煎叆澶辫触') - } - } - /** - * 涓婁紶閽╁瓙 - */ - const onBeforeUpload = (file: File) => { - const format = ['xlsx', 'xls', 'csv'] - if (!format.includes(file.name.split('.')[1])) { - ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�') - return false - } - return true - } - - onMounted(() => { - headers.value = { - Authorization: `Bearer ${sessionStorage.getItem('Token')}`, - 'X-Project': sessionStorage.getItem('X-Project'), - } - }) - - ctx.expose({ - reloadList, - }) - - return { - dataSource, - contextMenu, - dialogConfig, - dialogConfigForQuery, - dialogSettingConfig, - tableRef, - current, - search, - sort, - wmsTaskColumns, - paginationParams, - headers, - onBeforeUpload, - onError, - onSuccess, - openDetail, - onSearch, - onExport, - onRowClick, - onConfirmWmsTask, - onCheck, - onAddWmsTask, - onAdvancedQuery - } -} +import { ref, onMounted, reactive, Ref, nextTick, computed } from 'vue' +import { injectModel } from '@/libs/Provider/Provider' +import { WmsTask } from '../Models/WmsTask' +import { ElMessage } from 'element-plus' +import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox' +import { useFile } from './File' + +interface CurrentType { + 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() + /** + * 澶撮儴閰嶇疆 + */ + const headers = ref({}) + /** + * 鍔ㄦ�佸垪閰嶇疆 + */ + const wmsTaskColumns = ref<Record<string, any>>({}) + /** + * 鎼滅储鍊� + */ + const search = ref('') + + /** + * 鎺掑簭 + */ + const sort = ref(0) + /** + * 閫夋嫨椤� + */ + const selection = ref<WmsTaskItem[]>([]) + /** + * 褰撳墠閫変腑鐨勮 + */ + const current = ref<any>(null) + /** + * 鏁版嵁婧� + */ + const dataSource: Ref<any[]> = ref([]) + + /** + * 琛ㄦ牸 + */ + const tableRef = ref() + const dialogConfig = reactive({ + visible: false, + title: '', + isAdd: false, + }) + const dialogConfigForQuery = reactive({ + visible: false, + title: '', + isAdd: false, + }) + + const dialogSettingConfig = reactive({ + visible: false, + title: '', + }) + + /** + * 鍒嗛〉鏁版嵁 + */ + const paginationParams = ref({}) + + /** + * 鎵撳紑璇︽儏 + * @param row + */ + const openDetail = (row: any) => { + current.value = row + dialogConfig.visible = true + dialogConfig.title = row.name + dialogConfig.isAdd = false + sort.value = row.sort + } + + const contextMenu = [ + { + label: '灞曞紑璇︽儏', + fn: (c: CurrentType) => { + current.value = null + sort.value = c.row.sort + nextTick(() => openDetail(c.row)) + }, + divided: true, + icon: 'o', + }, + // { + // label: '鍚戜笂娣诲姞', + // fn: (c: CurrentType, pageNum: number) => { + // current.value = null + // sort.value = c.index + 1 + (pageNum - 1) * 50 + // dialogConfig.visible = true + // dialogConfig.title = '娣诲姞' + // dialogConfig.isAdd = false + // }, + // divided: true, + // icon: 'up', + // }, + { + 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 + ) + ConfirmBox( + `鏄惁鍒犻櫎${names.length ? names.join(',') : c.row.taskNo}` + ).then(async () => { + const ids = selection.value.map((item: { id: string }) => item.id) + await wmsTask.deleteWmsTasks(ids.length ? ids : [c.row.id]) + ElMessage.success('鍒犻櫎鎴愬姛') + tableRef.value.getList() + }) + }, + icon: 'close', + }, + ] + + const onCheck = (records: any) => { + selection.value = records + } + + const onAddWmsTask = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfig.visible = true + dialogConfig.isAdd = true + dialogConfig.title = '娣诲姞' + sort.value = params.totalCount + 1 + } + + //鐐瑰嚮鎸夐挳銆愰珮绾ф煡璇€�� + const onAdvancedQuery = () => { + const params = tableRef.value?.getPaginationParams() + current.value = null + dialogConfigForQuery.visible = true + dialogConfigForQuery.isAdd = true + dialogConfigForQuery.title = '楂樼骇鏌ヨ' + } + + const onConfirmWmsTask = async () => { + dialogConfig.visible = false + if (dialogConfig.isAdd) { + tableRef.value?.scrollToRow({ + skip: true, + }) + } else { + await tableRef.value?.getList() + } + } + /** + * 琛岀偣鍑绘椂鏇存柊current + */ + const onRowClick = ({ row }: any) => { + if (dialogConfig.visible && current.value) { + current.value = row + } + } + /** + * 瀵煎嚭 + */ + const onExport = (data = {}) => { + //const params = tableRef.value?.getParams() + exportFile('/api/v1/HIAWms/wmsTask/export', data, 'HIAWms') + } + + /** + * 鍏抽敭瀛楁悳绱� + */ + const onSearch = () => { + tableRef.value?.getList({ + Filter: search.value, + }) + } + + /** + * 閲嶇疆琛ㄦ牸鏁版嵁 + */ + const reloadList = () => { + tableRef.value?.getList() + } + /** + * 涓婁紶鎴愬姛 + */ + const onSuccess = () => { + tableRef.value?.getList() + ElMessage.success('瀵煎叆鎴愬姛') + } + /** + * 澶辫触 + * @param err + */ + const onError = (err: any) => { + try { + const message = JSON.parse(err.message) + ElMessage.error(message.msg) + } catch (error) { + ElMessage.error('瀵煎叆澶辫触') + } + } + /** + * 涓婁紶閽╁瓙 + */ + const onBeforeUpload = (file: File) => { + const format = ['xlsx', 'xls', 'csv'] + if (!format.includes(file.name.split('.')[1])) { + ElMessage.error('瀵煎叆鏂囦欢鏍煎紡涓嶆纭紝璇峰鍏�.xlsx/.xls涓�.csv鏍煎紡鐨勬枃浠�') + return false + } + return true + } + + onMounted(() => { + headers.value = { + Authorization: `Bearer ${sessionStorage.getItem('Token')}`, + 'X-Project': sessionStorage.getItem('X-Project'), + } + }) + + ctx.expose({ + reloadList, + }) + + return { + dataSource, + contextMenu, + dialogConfig, + dialogConfigForQuery, + dialogSettingConfig, + tableRef, + current, + search, + sort, + wmsTaskColumns, + paginationParams, + headers, + onBeforeUpload, + onError, + onSuccess, + openDetail, + onSearch, + onExport, + onRowClick, + onConfirmWmsTask, + onCheck, + onAddWmsTask, + onAdvancedQuery, + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts b/HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts index c2093dc..6d0feff 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Models/Service/WmsTask.ts @@ -1,30 +1,46 @@ -import { Base } from '@/libs/Base/Base' -const request = Base.request - -/** - * 娣诲姞 - * @returns - */ -export const addWmsTask = (data: any) => { - return request.post('/api/v1/HIAWms/wmsTask', data) -} - -/** - * 鎵归噺鍒犻櫎 - * @returns - */ -export const deleteWmsTasks = (ids: string[]) => { - return request({ - data: ids, - url: '/api/v1/HIAWms/wmsTask', - method: 'delete', - }) -} - -/** - * 鍏嬮殕 - * @returns - */ -export const cloneData = (data: any) => { - return request.post('/api/v1/HIAWms/wmsTask/clone', data) -} +import { Base } from '@/libs/Base/Base' +const request = Base.request + +/** + * 娣诲姞 + * @returns + */ +export const addWmsTask = (data: any) => { + return request.post('/api/v1/HIAWms/wmsTask', data) +} + +/** + * 鎵归噺鍒犻櫎 + * @returns + */ +export const deleteWmsTasks = (ids: string[]) => { + return request({ + data: ids, + url: '/api/v1/HIAWms/wmsTask', + method: 'delete', + }) +} + +/** + * 鍏嬮殕 + * @returns + */ +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) +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts b/HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts index 8122adf..7fe15d9 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts +++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Models/WmsTask.ts @@ -1,41 +1,61 @@ -import { Base } from '@/libs/Base/Base' -import { - deleteWmsTasks, - addWmsTask, - cloneData, -} from './Service/WmsTask' - -export class WmsTask extends Base<{ [key: string]: any }> { - constructor() { - super({ - data: [], - }) - } - onMounted() {} - /** - * 鍒犻櫎 - * @param id - * @returns - */ - async deleteWmsTasks(ids: string[]) { - return deleteWmsTasks(ids) - } - - /** - * 娣诲姞鏁版嵁 - * @param data - * @returns - */ - addWmsTask(data: Record<string, any>) { - return addWmsTask(data) - } - - /** - * 鍏嬮殕 - * @param ids - * @returns - */ - cloneData(ids: string[]) { - return cloneData(ids) - } -} +import { Base } from '@/libs/Base/Base' +import { + deleteWmsTasks, + addWmsTask, + cloneData, + finishTask, + cancelTask, +} from './Service/WmsTask' + +export class WmsTask extends Base<{ [key: string]: any }> { + constructor() { + super({ + data: [], + }) + } + onMounted() {} + /** + * 鍒犻櫎 + * @param id + * @returns + */ + async deleteWmsTasks(ids: string[]) { + return deleteWmsTasks(ids) + } + + /** + * 娣诲姞鏁版嵁 + * @param data + * @returns + */ + addWmsTask(data: Record<string, any>) { + return addWmsTask(data) + } + + /** + * 鍏嬮殕 + * @param ids + * @returns + */ + 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) + } +} diff --git a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx index f4cf6aa..5cca268 100644 --- a/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx +++ b/HIAWms/hiawms_web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx @@ -292,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="鍏抽敭瀛�"> diff --git a/HIAWms/project/Wms.cmsproj b/HIAWms/project/Wms.cmsproj index 3c7c244..8309144 100644 --- a/HIAWms/project/Wms.cmsproj +++ b/HIAWms/project/Wms.cmsproj Binary files differ diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs index bf34a43..df3611d 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsTask/WmsTaskUpdateDto.cs +++ b/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; } +} \ No newline at end of file diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs index 9e57659..66a94bc 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsOutStockAppService.cs @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing 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); } } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs index fd15a11..b01823b 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Services/IWmsTaskAppService.cs @@ -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); } diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs index b1c7ce2..3bc6ff6 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsInOutStockRecordAppService.cs +++ b/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, "璧峰搴撲綅"); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs index 1c95d67..0bb41f5 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs @@ -25,8 +25,8 @@ private readonly IWmsTaskRepository _wmsTaskRepository; private readonly IWmsInOutStockOrderRepository _wmsInOutStockOrderRepository; private readonly IServiceProvider _serviceProvider; - public WmsOutStockAppService(IWmsMaterialStockRepository wmsMaterialStockRepository, - IWmsCommonAppService wmsCommonAppService, IWmsTaskRepository wmsTaskRepository, + public WmsOutStockAppService(IWmsMaterialStockRepository wmsMaterialStockRepository, + IWmsCommonAppService wmsCommonAppService, IWmsTaskRepository wmsTaskRepository, IWmsInOutStockOrderRepository wmsInOutStockOrderRepository, IServiceProvider serviceProvider ) { @@ -37,65 +37,73 @@ _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); - if(order == null) + var distinctModels = input.Select(x => x.MaterialModel).Distinct().ToList(); + if (distinctModels.Count > 1) { - throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�"); + throw new UserFriendlyException("涓�娆″彨鏂欏彧鑳介拡瀵瑰悓涓�鍨嬪彿鐨勭墿鏂欙紒"); } - if(input.MaterialNumber <=0) + foreach (var inputItem in input) { - throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0"); - } - if(order.MaterialNumber< input.MaterialNumber) - { - throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺"); - } - order.OrderStatus = OrderStatusEnum.Executing; - order.DistributeNumber = input.MaterialNumber; - - await _wmsInOutStockOrderRepository.UpdateAsync(order); - - var stockresult = await _wmsCommonAppService.FindStockAsync(input.MaterialModel, input.MaterialNumber); - if(stockresult == null) - { - throw new UserFriendlyException("褰撳墠鏃犲簱瀛�"); - } - var taskList = new List<WmsTask>(); - foreach (var kvp in stockresult) - { - var stock = kvp.Key; // WmsPlace瀵硅薄 - var quantity = kvp.Value; // 鍒嗛厤鏁伴噺 - - for (int i = 0; i < quantity; i++) + var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo); + if (order == null) { - var task = new WmsTask - { - TaskNo = $"CK_{DateTime.Now:yyyyMMddHHmmss}_{Guid.NewGuid().ToString("N").Substring(0, 6)}", - ContainerNo = stock.ContainerNo, - SourcePlace = stock.PlaceNo, - ToPlace = "201",// place.PlaceNo, - TaskType = TaskTypeEnum.CHUKU, - SonTaskType = input.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU, - TaskStatus = WmsTaskStatus.WEIZHIXING, - TaskLevel = 999, - Aisle = 1, - DodeviceId = 0, - TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart, - IsNextTask = (int)YesNoEnum.Y, - IsRead = true, - SourceOrderNo = input.OrderNo, - MutableParam1 = input.MaterialModel, - }; - taskList.Add(task); + throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�"); } + if (inputItem.MaterialNumber <= 0) + { + throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0"); + } + if (order.MaterialNumber < inputItem.MaterialNumber) + { + throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺"); + } + order.OrderStatus = OrderStatusEnum.Executing; + order.DistributeNumber = inputItem.MaterialNumber; + + await _wmsInOutStockOrderRepository.UpdateAsync(order); + + var stockresult = await _wmsCommonAppService.FindStockAsync(inputItem.MaterialModel, inputItem.MaterialNumber); + if (stockresult == null) + { + throw new UserFriendlyException("褰撳墠鏃犲簱瀛�"); + } + var taskList = new List<WmsTask>(); + foreach (var kvp in stockresult) + { + var stock = kvp.Key; // WmsPlace瀵硅薄 + var quantity = kvp.Value; // 鍒嗛厤鏁伴噺 + + for (int i = 0; i < quantity; i++) + { + var task = new WmsTask + { + TaskNo = $"CK_{DateTime.Now:yyyyMMddHHmmss}_{Guid.NewGuid().ToString("N").Substring(0, 6)}", + ContainerNo = stock.ContainerNo, + SourcePlace = stock.PlaceNo, + ToPlace = "201",// place.PlaceNo, + TaskType = TaskTypeEnum.CHUKU, + SonTaskType = inputItem.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU, + TaskStatus = WmsTaskStatus.WEIZHIXING, + TaskLevel = order.Priority, + Aisle = 1, + DodeviceId = 0, + TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart, + IsNextTask = (int)YesNoEnum.Y, + IsRead = true, + SourceOrderNo = inputItem.OrderNo, + MutableParam1 = inputItem.MaterialModel, + }; + taskList.Add(task); + } + } + await _wmsTaskRepository.InsertManyAsync(taskList); } - await _wmsTaskRepository.InsertManyAsync(taskList); await uow.SaveChangesAsync(); await uow.CompleteAsync(); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs index 245278e..2fbdaac 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs @@ -197,7 +197,7 @@ } updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); - if(input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.WANCHENG || input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.QUXIAO) + if (input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.WANCHENG || input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.QUXIAO) { throw new UserFriendlyException("瀹屾垚鎴栬�呭彇娑堢殑浠诲姟涓嶅厑璁告洿鏀�"); } @@ -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,19 +539,35 @@ 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}); - if(stockList == null || stockList.Count<=0) + var stockList = await _wmsMaterialStockRepository.GetStockListAsync(new WmsMaterialStock { MaterialModel = task.MutableParam1, PlaceNo = task.SourcePlace }); + if (stockList == null || stockList.Count <= 0) { throw new UserFriendlyException("鍘熷簱浣嶄俊鎭笉瀛樺湪"); } var stock = stockList.FirstOrDefault(); stock.PlaceNo = task.ToPlace; + stock.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) + if (container == null) { await _wmsContainerRepository.InsertAsync(new WmsContainer { @@ -561,9 +576,14 @@ ContainerType = ContainerTypeEnum.XUNI, }); } + else + { + container.ContainerStatus = ContainerStatusEnum.KUWEI; + await _wmsContainerRepository.UpdateAsync(container); + } var oldContainer = await _wmsContainerRepository.FindByNameAsync(task.ContainerNo); - if(oldContainer != null) + if (oldContainer != null) { await _wmsContainerRepository.DeleteAsync(oldContainer); } @@ -572,7 +592,7 @@ { // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺 var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo); - if(orderNo != null) + if (orderNo != null) { orderNo.CompleteNumber += 1; orderNo.OrderStatus = OrderStatusEnum.Executing; @@ -605,7 +625,7 @@ StockType = task.TaskType == TaskTypeEnum.CHUKU ? StockTypeEnum.OutBound : StockTypeEnum.InBound, ContainerNo = task.ContainerNo, MaterialId = stock.MaterialId, - MaterialModel= stock.MaterialModel, + MaterialModel = stock.MaterialModel, MaterialName = stock.MaterialName, MaterialNo = stock.MaterialNo, MaterialBatch = stock.MaterialBatch, @@ -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(); @@ -656,18 +676,18 @@ { // 璺熸柊鍗曟嵁瀹屾垚鏁伴噺 var orderNo = await _wmsInOutStockOrderRepository.FindByNameAsync(task.SourceOrderNo); - if(orderNo != null) + if (orderNo != null) { orderNo.CompleteNumber -= 1; orderNo.OrderStatus = OrderStatusEnum.NoStart; } - if (orderNo.CompleteNumber>0) + if (orderNo.CompleteNumber > 0) { orderNo.OrderStatus = OrderStatusEnum.Executing; } await _wmsInOutStockOrderRepository.UpdateAsync(orderNo); - + } await uow.SaveChangesAsync(); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs index 769d0f8..63f1eea 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Extensions/CMSPluginEfCoreExtensions.WmsInOutStockRecord.cs @@ -46,7 +46,7 @@ // Properties b.Property(x => x.OrderNo) .HasMaxLength(50) - .IsRequired() + .IsRequired(false) .HasComment("鍗曟嵁缂栧彿"); b.Property(x => x.MaterialName) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs index 2aaf459..8c6d4dd 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.EntityFrameworkCore/Repositories/EfCoreWmsMaterialStockRepository.cs +++ b/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(); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.Designer.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.Designer.cs new file mode 100644 index 0000000..5caa8e9 --- /dev/null +++ b/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("浠撳簱浠g爜"); + + b.Property<string>("StoreName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("浠撳簱鍚嶇О"); + + b.HasKey("Id"); + + b.HasIndex("AreaName"); + + b.ToTable("scms_wmsareas", (string)null); + + b.HasComment("搴撳尯琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainerPlace.WmsContainerPlace", b => + { + b.Property<string>("PlaceNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("搴撲綅缂栫爜"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp") + .HasComment("骞跺彂鎴�"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime") + .HasComment("鍒涘缓鏃堕棿"); + + b.Property<Guid?>("CreatorId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("CreatorId") + .HasComment("鍒涘缓浜篒D"); + + b.Property<string>("CreatorName") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鍒涘缓浜�"); + + b.Property<string>("DeleteRemark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍒犻櫎澶囨敞"); + + b.Property<Guid?>("DeleterId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("DeleterId") + .HasComment("鍒犻櫎浜篒D"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime") + .HasComment("鍒犻櫎鏃堕棿"); + + b.Property<string>("ExtraField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁1"); + + b.Property<string>("ExtraField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁2"); + + b.Property<string>("ExtraField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎵╁睍瀛楁3"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties") + .HasComment("鎵╁睍灞炴��"); + + b.Property<Guid>("Id") + .HasColumnType("char(36)"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted") + .HasComment("鏄惁鍒犻櫎"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime") + .HasComment("淇敼鏃堕棿"); + + b.Property<Guid?>("LastModifierId") + .HasMaxLength(36) + .HasColumnType("char(36)") + .HasColumnName("LastModifierId") + .HasComment("淇敼浜篒D"); + + b.Property<string>("LastModifierName") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("淇敼浜�"); + + b.Property<string>("OperationRemark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鎿嶄綔澶囨敞"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.HasKey("PlaceNo", "ContainerNo"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("PlaceNo"); + + b.ToTable("scms_wmscontainerplaces", (string)null); + + b.HasComment("瀹瑰櫒搴撲綅鍏崇郴琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsContainers.WmsContainer", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<int>("ContainerStatus") + .HasColumnType("int") + .HasComment("鎵樼洏鐘舵��"); + + b.Property<int>("ContainerType") + .HasColumnType("int") + .HasComment("鎵樼洏绫诲瀷"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int?>("ExceptionNumber") + .HasColumnType("int") + .HasComment("寮傚父鏁伴噺"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<decimal?>("LimitHeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愰珮"); + + b.Property<decimal?>("LimitLength") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愰暱"); + + b.Property<decimal?>("LimitWidth") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闄愬"); + + b.Property<int?>("MaterialNumber") + .HasColumnType("int") + .HasComment("鐗╂枡鏁伴噺"); + + b.Property<decimal?>("MaxWeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("杞介噸涓婇檺"); + + b.Property<string>("RedundantField1") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<decimal?>("SpecHeight") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("楂樺害"); + + b.Property<decimal?>("SpecLength") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("闀垮害"); + + b.Property<decimal?>("SpecWidth") + .HasPrecision(18, 2) + .HasColumnType("decimal(18,2)") + .HasComment("瀹藉害"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo") + .IsUnique(); + + b.HasIndex("ContainerStatus"); + + b.HasIndex("ContainerType"); + + b.ToTable("scms_wmscontainers", (string)null); + + b.HasComment("鎵樼洏淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder.WmsInOutStockOrder", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int>("CompleteNumber") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("瀹屾垚鏁伴噺"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("DistributeNumber") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("涓嬪彂鏁伴噺"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵规鍙�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍨嬪彿"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<int>("MaterialNumber") + .HasColumnType("int") + .HasComment("鍗曟嵁鏁伴噺"); + + b.Property<DateTime?>("OperateTime") + .HasColumnType("datetime(6)") + .HasComment("鎿嶄綔鏃堕棿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<int>("OrderStatus") + .HasColumnType("int") + .HasComment("鍗曟嵁鐘舵��"); + + b.Property<int>("OrderType") + .HasColumnType("int") + .HasComment("鍗曟嵁绫诲瀷"); + + b.Property<string>("PlanNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍏宠仈璁″垝缂栧彿"); + + b.Property<int>("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(1) + .HasComment("浼樺厛绾�"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int>("StockType") + .HasColumnType("int") + .HasComment("鎿嶄綔绫诲瀷锛堟灇涓惧�硷級"); + + b.HasKey("Id"); + + b.HasIndex("MaterialBatch"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OperateTime"); + + b.HasIndex("OrderNo") + .IsUnique(); + + b.HasIndex("PlanNo"); + + b.ToTable("scms_wmsinoutstockorder", (string)null); + + b.HasComment("鍑哄叆搴撳崟鎹〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockOrderDetail.WmsInOutStockOrderDetail", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鍞竴鐮�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<string>("OrderNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<int>("OrderType") + .HasColumnType("int") + .HasComment("鍗曟嵁绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OrderNo"); + + b.HasIndex("OrderNo", "OrderType"); + + b.ToTable("scms_wmsinoutstockorderdetail", (string)null); + + b.HasComment("鍑哄叆搴撳崟鎹槑缁嗚〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsInOutStockRecord.WmsInOutStockRecord", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷"); + + b.Property<string>("MaterialName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠跺彿"); + + b.Property<DateTime?>("OperateTime") + .HasColumnType("datetime(6)") + .HasComment("鎿嶄綔鏃堕棿"); + + b.Property<string>("OrderNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鍗曟嵁缂栧彿"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("SourcePlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("璧峰搴撲綅"); + + b.Property<int>("StockType") + .HasColumnType("int") + .HasComment("鎿嶄綔绫诲瀷"); + + b.Property<string>("TaskNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠诲姟鍙�"); + + b.Property<string>("ToPlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐩爣搴撲綅"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("OperateTime"); + + b.HasIndex("OrderNo"); + + b.HasIndex("StockType"); + + b.HasIndex("TaskNo"); + + b.ToTable("scms_wmsinoutstockrecords", (string)null); + + b.HasComment("鍑哄叆搴撹褰曡〃"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialContainer.WmsMaterialContainer", b => + { + b.Property<string>("MaterialId") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<Guid>("Id") + .HasColumnType("char(36)"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int>("Sort") + .HasColumnType("int"); + + b.HasKey("MaterialId", "ContainerNo"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialId"); + + b.ToTable("scms_wmsmaterialcontainer", (string)null); + + b.HasComment("鐗╂枡瀹瑰櫒鍏崇郴琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialInfos.WmsMaterialInfo", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int?>("CheckStatus") + .HasColumnType("int") + .HasComment("妫�楠岀姸鎬�(0:鏈楠�,1:妫�楠岄�氳繃,2:妫�楠屼笉閫氳繃)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡鎵瑰彿"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鍞竴鐮�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏈哄瀷/瑙勬牸"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐗╂枡浠e彿"); + + b.Property<string>("RedundantField1") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁1"); + + b.Property<string>("RedundantField2") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁2"); + + b.Property<string>("RedundantField3") + .HasMaxLength(255) + .HasColumnType("varchar(255)") + .HasComment("鍐椾綑瀛楁3"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int?>("StockNumber") + .HasColumnType("int") + .HasComment("搴撳瓨鏁伴噺"); + + b.Property<string>("SupplierCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("渚涘簲鍟嗙紪鍙�"); + + b.HasKey("Id"); + + b.HasIndex("CheckStatus"); + + b.HasIndex("MaterialBatch"); + + b.HasIndex("MaterialId") + .IsUnique(); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo") + .IsUnique(); + + b.HasIndex("SupplierCode"); + + b.ToTable("scms_wmsmaterialinfos", (string)null); + + b.HasComment("WMS鐗╂枡淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterials.WmsMaterial", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("Certification") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("璇佷功缂栧彿"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<string>("Factory") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐢熶骇宸ュ巶"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("IsMainBranch") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鏄惁涓轰富鏀"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<decimal>("Length") + .HasColumnType("decimal(18,2)") + .HasComment("闀垮害锛堝崟浣嶏細m锛�"); + + b.Property<string>("MaterialModel") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鍨嬪彿"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栫爜锛堝敮涓�鏍囪瘑锛�"); + + b.Property<string>("MaterialQuality") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鏉愯川锛堝锛�304涓嶉攬閽級"); + + b.Property<int>("MaterialType") + .HasColumnType("int") + .HasComment("鐗╂枡绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<decimal>("OuterDiameter") + .HasColumnType("decimal(18,2)") + .HasComment("澶栧緞锛堝崟浣嶏細mm锛�"); + + b.Property<string>("PrimaryUnit") + .HasMaxLength(20) + .HasColumnType("varchar(20)") + .HasComment("涓诲崟浣嶏紙濡傦細kg銆乵銆佷釜锛�"); + + b.Property<int>("PurchaseType") + .HasColumnType("int") + .HasComment("閲囪喘绫诲瀷锛堟灇涓惧�硷級"); + + b.Property<string>("RedundantField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<string>("Standard") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("瑙勬牸/鏍囧噯锛堝锛欸B/T 8163-2018锛�"); + + b.Property<decimal>("WallThickness") + .HasColumnType("decimal(18,2)") + .HasComment("澹佸帤锛堝崟浣嶏細mm锛�"); + + b.HasKey("Id"); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo") + .IsUnique(); + + b.HasIndex("MaterialType"); + + b.HasIndex("PurchaseType"); + + b.ToTable("scms_wmsmaterials", (string)null); + + b.HasComment("鐗╂枡鍩虹淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsMaterialStocks.WmsMaterialStock", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("AreaCode") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鍖哄煙缂栧彿"); + + b.Property<string>("AreaName") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("搴撳尯鍚嶇О"); + + b.Property<int?>("CheckStatus") + .HasColumnType("int") + .HasComment("妫�楠岀姸鎬�(1:鏈楠�,2:妫�楠岄�氳繃,3:妫�楠屼笉閫氳繃)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("瀹瑰櫒缂栧彿"); + + b.Property<int>("ContainerStatus") + .HasColumnType("int") + .HasComment("瀹瑰櫒鐘舵��"); + + b.Property<int>("ContainerType") + .HasColumnType("int") + .HasComment("瀹瑰櫒绫诲瀷"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("EmptyContainer") + .HasColumnType("int") + .HasComment("鏄惁绌烘墭(2:鍚�,1:鏄�)"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<DateTime?>("InStockTime") + .HasColumnType("datetime(6)") + .HasComment("鍏ュ簱鏃堕棿"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("IsLock") + .HasColumnType("int") + .HasComment("鏄惁閿佸畾(2:鏈攣瀹�,1:宸查攣瀹�)"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MaterialBatch") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡鎵规"); + + b.Property<string>("MaterialId") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡ID"); + + b.Property<string>("MaterialModel") + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鏈哄瀷/瑙勬牸"); + + b.Property<string>("MaterialName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("varchar(128)") + .HasComment("鐗╂枡鍚嶇О"); + + b.Property<string>("MaterialNo") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("鐗╂枡缂栧彿"); + + b.Property<string>("PlaceNo") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("搴撲綅缂栧彿"); + + b.Property<int>("PlaceStatus") + .HasColumnType("int") + .HasComment("搴撲綅鐘舵��;"); + + b.Property<string>("RedundantField1") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(500) + .HasColumnType("varchar(500)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasComment("鎺掑簭"); + + b.Property<int>("StockNumber") + .HasColumnType("int") + .HasComment("搴撳瓨鏁伴噺"); + + b.Property<int>("StorageTypeNo") + .HasColumnType("int") + .HasComment("搴撲綅绫诲瀷"); + + b.Property<string>("SupplierCode") + .HasMaxLength(64) + .HasColumnType("varchar(64)") + .HasComment("渚涘簲鍟嗙紪鍙�"); + + b.HasKey("Id"); + + b.HasIndex("AreaCode"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("MaterialName"); + + b.HasIndex("MaterialNo"); + + b.HasIndex("PlaceNo"); + + b.HasIndex("MaterialBatch", "SupplierCode"); + + b.ToTable("scms_wmsmaterialstocks", (string)null); + + b.HasComment("WMS鐗╂枡搴撳瓨琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsPlaces.WmsPlace", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int>("Aisle") + .HasColumnType("int") + .HasComment("宸烽亾"); + + b.Property<string>("AreaCode") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵�鍦ㄥ簱鍖�"); + + b.Property<int>("ColumnNo") + .HasColumnType("int") + .HasComment("鍒�"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int>("EmptyContainer") + .HasColumnType("int") + .HasComment("鏄惁绌烘墭"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int>("Islock") + .HasColumnType("int") + .HasComment("鏄惁閿佸畾"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<int>("LayerNo") + .HasColumnType("int") + .HasComment("灞�"); + + b.Property<int>("MaxStockNumber") + .HasColumnType("int") + .HasComment("鏈�澶у簱瀛橀噺"); + + b.Property<string>("PlaceNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("缂栧彿"); + + b.Property<int>("PlaceStatus") + .HasColumnType("int") + .HasComment("璐т綅鐘舵��"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("RowNo") + .HasColumnType("int") + .HasComment("鎺�"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<int>("StorageTypeNo") + .HasColumnType("int") + .HasComment("璐т綅绫诲瀷"); + + b.HasKey("Id"); + + b.HasIndex("AreaCode"); + + b.HasIndex("PlaceNo") + .IsUnique(); + + b.HasIndex("PlaceStatus"); + + b.HasIndex("StorageTypeNo"); + + b.ToTable("scms_wmsplaces", (string)null); + + b.HasComment("搴撲綅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsStores.WmsStore", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("RedundantField1") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁1 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField2") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁2 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("RedundantField3") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("鍐椾綑瀛楁3 - 棰勭暀鎵╁睍鐢ㄩ��"); + + b.Property<string>("Remark") + .HasMaxLength(256) + .HasColumnType("varchar(256)") + .HasComment("澶囨敞"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("StoreCode") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠撳簱浠g爜"); + + b.Property<string>("StoreName") + .HasMaxLength(100) + .HasColumnType("varchar(100)") + .HasComment("浠撳簱鍚嶇О"); + + b.HasKey("Id"); + + b.HasIndex("StoreName"); + + b.ToTable("scms_wmsstores", (string)null); + + b.HasComment("浠撳簱淇℃伅琛�"); + }); + + modelBuilder.Entity("CMS.Plugin.HIAWms.Domain.WmsTask.WmsTask", b => + { + b.Property<Guid>("Id") + .ValueGeneratedOnAdd() + .HasColumnType("char(36)"); + + b.Property<int?>("Aisle") + .HasColumnType("int") + .HasComment("宸烽亾"); + + b.Property<string>("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property<string>("ContainerNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鎵樼洏缂栧彿"); + + b.Property<DateTime>("CreationTime") + .HasColumnType("datetime(6)") + .HasColumnName("CreationTime"); + + b.Property<Guid?>("CreatorId") + .HasColumnType("char(36)") + .HasColumnName("CreatorId"); + + b.Property<Guid?>("DeleterId") + .HasColumnType("char(36)") + .HasColumnName("DeleterId"); + + b.Property<DateTime?>("DeletionTime") + .HasColumnType("datetime(6)") + .HasColumnName("DeletionTime"); + + b.Property<int?>("DodeviceId") + .HasColumnType("int") + .HasComment("鍫嗗灈鏈篒D"); + + b.Property<int>("Dodevicetype") + .HasColumnType("int") + .HasComment("璁惧绫诲瀷"); + + b.Property<string>("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property<bool>("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("tinyint(1)") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property<bool?>("IsDisabled") + .HasColumnType("tinyint(1)") + .HasComment("鏄惁绂佺敤"); + + b.Property<int?>("IsNextTask") + .HasColumnType("int") + .HasComment("涓嬩釜浠诲姟鏄惁鐢熸垚鎴愬姛"); + + b.Property<bool>("IsRead") + .HasColumnType("tinyint(1)") + .HasComment("WCS鏄惁鍙互璇诲彇"); + + b.Property<DateTime?>("LastModificationTime") + .HasColumnType("datetime(6)") + .HasColumnName("LastModificationTime"); + + b.Property<Guid?>("LastModifierId") + .HasColumnType("char(36)") + .HasColumnName("LastModifierId"); + + b.Property<string>("MutableParam1") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺1"); + + b.Property<string>("MutableParam2") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺2"); + + b.Property<string>("MutableParam3") + .HasMaxLength(200) + .HasColumnType("varchar(200)") + .HasComment("鍙彉鍙橀噺3"); + + b.Property<int?>("SonTaskType") + .HasColumnType("int") + .HasComment("瀛愪换鍔$被鍨�"); + + b.Property<int>("Sort") + .HasColumnType("int") + .HasComment("鎺掑簭"); + + b.Property<string>("SourceOrderNo") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鏉ユ簮鍗曟嵁鍙�"); + + b.Property<string>("SourcePlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("璧峰搴撲綅"); + + b.Property<int>("TaskDodeviceStatus") + .HasColumnType("int") + .HasComment("璁惧浠诲姟鐘舵��"); + + b.Property<int>("TaskLevel") + .HasColumnType("int") + .HasComment("浠诲姟绛夌骇"); + + b.Property<string>("TaskNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("浠诲姟鍙�"); + + b.Property<int>("TaskStatus") + .HasColumnType("int") + .HasComment("浠诲姟鐘舵��"); + + b.Property<int>("TaskType") + .HasColumnType("int") + .HasComment("浠诲姟绫诲瀷"); + + b.Property<string>("ToPlace") + .HasMaxLength(50) + .HasColumnType("varchar(50)") + .HasComment("鐩爣搴撲綅"); + + b.HasKey("Id"); + + b.HasIndex("ContainerNo"); + + b.HasIndex("DodeviceId"); + + b.HasIndex("IsRead"); + + b.HasIndex("Sort"); + + b.HasIndex("SourceOrderNo"); + + b.HasIndex("SourcePlace"); + + b.HasIndex("TaskNo") + .IsUnique(); + + b.HasIndex("TaskStatus"); + + b.HasIndex("TaskType"); + + b.HasIndex("ToPlace"); + + b.ToTable("scms_wmstasks", (string)null); + + b.HasComment("浠诲姟琛�"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.cs new file mode 100644 index 0000000..34d26ec --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/20250511134948_InitialCreate14.cs @@ -0,0 +1,51 @@ +锘縰sing 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"); + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs index f501771..e0122d6 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Migrations/CMSPluginDbContextModelSnapshot.cs +++ b/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("鍗曟嵁缂栧彿"); diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat index 575273d..ec382d1 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.MySQL/Scripts/UpdateMigrations.bat @@ -1,5 +1,5 @@ cd ../ -dotnet ef migrations add 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 diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs new file mode 100644 index 0000000..cf1ed60 --- /dev/null +++ b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsOutStockController.cs @@ -0,0 +1,43 @@ +锘縰sing 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); + } + } +} diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs b/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs index e67e658..dc8ece5 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms/Controller/WmsTaskController.cs +++ b/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); } -- Gitblit v1.9.3