From 93024d0061b1e4e6b0b9fb74a236c9c9550ce859 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 29 May 2026 23:05:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes):=20=E6=B7=BB=E5=8A=A0=E6=9D=82?= =?UTF-8?q?=E9=A1=B9=E5=87=BA=E5=BA=93=E5=8D=95=E5=8F=8A=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E5=92=8C=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/mes/wm/miscissue/index.ts | 70 ++++++++++++++++ .../src/api/mes/wm/miscissue/line/index.ts | 70 ++++++++++++++++ .../src/api/mes/wm/miscreceipt/index.ts | 70 ++++++++++++++++ .../src/api/mes/wm/miscreceipt/line/index.ts | 57 +++++++++++++ .../web-antd/src/api/mes/wm/packages/index.ts | 83 +++++++++++++++++++ .../src/api/mes/wm/packages/line/index.ts | 54 ++++++++++++ .../web-antd/src/views/mes/utils/constants.ts | 25 ++++++ .../web-ele/src/api/mes/wm/miscissue/index.ts | 70 ++++++++++++++++ .../src/api/mes/wm/miscissue/line/index.ts | 70 ++++++++++++++++ .../src/api/mes/wm/miscreceipt/index.ts | 70 ++++++++++++++++ .../src/api/mes/wm/miscreceipt/line/index.ts | 57 +++++++++++++ apps/web-ele/src/api/mes/wm/packages/index.ts | 83 +++++++++++++++++++ .../src/api/mes/wm/packages/line/index.ts | 54 ++++++++++++ apps/web-ele/src/views/mes/utils/constants.ts | 25 ++++++ packages/constants/src/dict-enum.ts | 5 ++ 15 files changed, 863 insertions(+) create mode 100644 apps/web-antd/src/api/mes/wm/miscissue/index.ts create mode 100644 apps/web-antd/src/api/mes/wm/miscissue/line/index.ts create mode 100644 apps/web-antd/src/api/mes/wm/miscreceipt/index.ts create mode 100644 apps/web-antd/src/api/mes/wm/miscreceipt/line/index.ts create mode 100644 apps/web-antd/src/api/mes/wm/packages/index.ts create mode 100644 apps/web-antd/src/api/mes/wm/packages/line/index.ts create mode 100644 apps/web-ele/src/api/mes/wm/miscissue/index.ts create mode 100644 apps/web-ele/src/api/mes/wm/miscissue/line/index.ts create mode 100644 apps/web-ele/src/api/mes/wm/miscreceipt/index.ts create mode 100644 apps/web-ele/src/api/mes/wm/miscreceipt/line/index.ts create mode 100644 apps/web-ele/src/api/mes/wm/packages/index.ts create mode 100644 apps/web-ele/src/api/mes/wm/packages/line/index.ts diff --git a/apps/web-antd/src/api/mes/wm/miscissue/index.ts b/apps/web-antd/src/api/mes/wm/miscissue/index.ts new file mode 100644 index 000000000..7ce7ede46 --- /dev/null +++ b/apps/web-antd/src/api/mes/wm/miscissue/index.ts @@ -0,0 +1,70 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscIssueApi { + /** MES 杂项出库单 */ + export interface MiscIssue { + id?: number; // 编号 + code?: string; // 出库单编号 + name?: string; // 出库单名称 + type?: string; // 业务类型 + sourceDocType?: string; // 来源单据类型 + sourceDocId?: number; // 来源单据编号 + sourceDocCode?: string; // 来源单据编码 + issueDate?: number; // 出库日期 + status?: number; // 单据状态 + remark?: string; // 备注 + createTime?: Date; // 创建时间 + } +} + +/** 查询杂项出库单分页 */ +export function getMiscIssuePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/misc-issue/page', + { params }, + ); +} + +/** 查询杂项出库单详情 */ +export function getMiscIssue(id: number) { + return requestClient.get( + `/mes/wm/misc-issue/get?id=${id}`, + ); +} + +/** 新增杂项出库单 */ +export function createMiscIssue(data: MesWmMiscIssueApi.MiscIssue) { + return requestClient.post('/mes/wm/misc-issue/create', data); +} + +/** 修改杂项出库单 */ +export function updateMiscIssue(data: MesWmMiscIssueApi.MiscIssue) { + return requestClient.put('/mes/wm/misc-issue/update', data); +} + +/** 删除杂项出库单 */ +export function deleteMiscIssue(id: number) { + return requestClient.delete(`/mes/wm/misc-issue/delete?id=${id}`); +} + +/** 提交杂项出库单 */ +export function submitMiscIssue(id: number) { + return requestClient.put(`/mes/wm/misc-issue/submit?id=${id}`); +} + +/** 执行出库 */ +export function finishMiscIssue(id: number) { + return requestClient.put(`/mes/wm/misc-issue/finish?id=${id}`); +} + +/** 取消杂项出库单 */ +export function cancelMiscIssue(id: number) { + return requestClient.put(`/mes/wm/misc-issue/cancel?id=${id}`); +} + +/** 导出杂项出库单 */ +export function exportMiscIssue(params: any) { + return requestClient.download('/mes/wm/misc-issue/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/mes/wm/miscissue/line/index.ts b/apps/web-antd/src/api/mes/wm/miscissue/line/index.ts new file mode 100644 index 000000000..56f4d8950 --- /dev/null +++ b/apps/web-antd/src/api/mes/wm/miscissue/line/index.ts @@ -0,0 +1,70 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscIssueLineApi { + /** MES 杂项出库单行 */ + export interface MiscIssueLine { + id?: number; // 编号 + issueId?: number; // 出库单编号 + sourceDocLineId?: number; // 来源单据行编号 + materialStockId?: number; // 库存编号 + itemId?: number; // 物料编号 + itemCode?: string; // 物料编码 + itemName?: string; // 物料名称 + specification?: string; // 规格型号 + unitMeasure?: string; // 计量单位 + unitMeasureName?: string; // 计量单位名称 + quantity?: number; // 出库数量 + batchId?: number; // 批次编号 + batchCode?: string; // 批次号 + warehouseId?: number; // 仓库编号 + warehouseCode?: string; // 仓库编码 + warehouseName?: string; // 仓库名称 + locationId?: number; // 库区编号 + locationCode?: string; // 库区编码 + locationName?: string; // 库区名称 + areaId?: number; // 库位编号 + areaCode?: string; // 库位编码 + areaName?: string; // 库位名称 + remark?: string; // 备注 + quantityMax?: number; // 可出库最大数量(前端用于限制出库数量,取自库存在库数量) + } +} + +/** 查询杂项出库单行分页 */ +export function getMiscIssueLinePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/misc-issue-line/page', + { params }, + ); +} + +/** 查询杂项出库单行列表 */ +export function getMiscIssueLineListByIssueId(issueId: number) { + return requestClient.get( + `/mes/wm/misc-issue-line/list-by-issue-id?issueId=${issueId}`, + ); +} + +/** 查询杂项出库单行详情 */ +export function getMiscIssueLine(id: number) { + return requestClient.get( + `/mes/wm/misc-issue-line/get?id=${id}`, + ); +} + +/** 新增杂项出库单行 */ +export function createMiscIssueLine(data: MesWmMiscIssueLineApi.MiscIssueLine) { + return requestClient.post('/mes/wm/misc-issue-line/create', data); +} + +/** 修改杂项出库单行 */ +export function updateMiscIssueLine(data: MesWmMiscIssueLineApi.MiscIssueLine) { + return requestClient.put('/mes/wm/misc-issue-line/update', data); +} + +/** 删除杂项出库单行 */ +export function deleteMiscIssueLine(id: number) { + return requestClient.delete(`/mes/wm/misc-issue-line/delete?id=${id}`); +} diff --git a/apps/web-antd/src/api/mes/wm/miscreceipt/index.ts b/apps/web-antd/src/api/mes/wm/miscreceipt/index.ts new file mode 100644 index 000000000..112cb4aac --- /dev/null +++ b/apps/web-antd/src/api/mes/wm/miscreceipt/index.ts @@ -0,0 +1,70 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscReceiptApi { + /** MES 杂项入库单 */ + export interface MiscReceipt { + id?: number; // 编号 + code?: string; // 入库单编号 + name?: string; // 入库单名称 + type?: number; // 杂项类型 + sourceDocType?: string; // 来源单据类型 + sourceDocId?: number; // 来源单据编号 + sourceDocCode?: string; // 来源单据编码 + receiptDate?: number; // 入库日期 + status?: number; // 单据状态 + remark?: string; // 备注 + createTime?: Date; // 创建时间 + } +} + +/** 查询杂项入库单分页 */ +export function getMiscReceiptPage(params: PageParam) { + return requestClient.get>( + '/mes/wm/misc-receipt/page', + { params }, + ); +} + +/** 查询杂项入库单详情 */ +export function getMiscReceipt(id: number) { + return requestClient.get( + `/mes/wm/misc-receipt/get?id=${id}`, + ); +} + +/** 新增杂项入库单 */ +export function createMiscReceipt(data: MesWmMiscReceiptApi.MiscReceipt) { + return requestClient.post('/mes/wm/misc-receipt/create', data); +} + +/** 修改杂项入库单 */ +export function updateMiscReceipt(data: MesWmMiscReceiptApi.MiscReceipt) { + return requestClient.put('/mes/wm/misc-receipt/update', data); +} + +/** 删除杂项入库单 */ +export function deleteMiscReceipt(id: number) { + return requestClient.delete(`/mes/wm/misc-receipt/delete?id=${id}`); +} + +/** 提交杂项入库单 */ +export function submitMiscReceipt(id: number) { + return requestClient.put(`/mes/wm/misc-receipt/submit?id=${id}`); +} + +/** 执行入库 */ +export function finishMiscReceipt(id: number) { + return requestClient.put(`/mes/wm/misc-receipt/finish?id=${id}`); +} + +/** 取消杂项入库单 */ +export function cancelMiscReceipt(id: number) { + return requestClient.put(`/mes/wm/misc-receipt/cancel?id=${id}`); +} + +/** 导出杂项入库单 */ +export function exportMiscReceipt(params: any) { + return requestClient.download('/mes/wm/misc-receipt/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/mes/wm/miscreceipt/line/index.ts b/apps/web-antd/src/api/mes/wm/miscreceipt/line/index.ts new file mode 100644 index 000000000..4ff66e549 --- /dev/null +++ b/apps/web-antd/src/api/mes/wm/miscreceipt/line/index.ts @@ -0,0 +1,57 @@ +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscReceiptLineApi { + /** MES 杂项入库单行 */ + export interface MiscReceiptLine { + id?: number; // 编号 + receiptId?: number; // 入库单编号 + itemId?: number; // 物料编号 + itemCode?: string; // 物料编码 + itemName?: string; // 物料名称 + specification?: string; // 规格型号 + unitMeasureName?: string; // 计量单位名称 + quantity?: number; // 入库数量 + batchCode?: string; // 批次号 + warehouseId?: number; // 仓库编号 + warehouseName?: string; // 仓库名称 + locationId?: number; // 库区编号 + locationName?: string; // 库区名称 + areaId?: number; // 库位编号 + areaName?: string; // 库位名称 + remark?: string; // 备注 + createTime?: Date; // 创建时间 + } +} + +/** 查询杂项入库单行列表 */ +export function getMiscReceiptLineListByReceiptId(receiptId: number) { + return requestClient.get( + `/mes/wm/misc-receipt-line/list-by-receipt-id?receiptId=${receiptId}`, + ); +} + +/** 查询杂项入库单行详情 */ +export function getMiscReceiptLine(id: number) { + return requestClient.get( + `/mes/wm/misc-receipt-line/get?id=${id}`, + ); +} + +/** 新增杂项入库单行 */ +export function createMiscReceiptLine( + data: MesWmMiscReceiptLineApi.MiscReceiptLine, +) { + return requestClient.post('/mes/wm/misc-receipt-line/create', data); +} + +/** 修改杂项入库单行 */ +export function updateMiscReceiptLine( + data: MesWmMiscReceiptLineApi.MiscReceiptLine, +) { + return requestClient.put('/mes/wm/misc-receipt-line/update', data); +} + +/** 删除杂项入库单行 */ +export function deleteMiscReceiptLine(id: number) { + return requestClient.delete(`/mes/wm/misc-receipt-line/delete?id=${id}`); +} diff --git a/apps/web-antd/src/api/mes/wm/packages/index.ts b/apps/web-antd/src/api/mes/wm/packages/index.ts new file mode 100644 index 000000000..cdbe51cf0 --- /dev/null +++ b/apps/web-antd/src/api/mes/wm/packages/index.ts @@ -0,0 +1,83 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmPackageApi { + /** 装箱单 */ + export interface Package { + id?: number; // 装箱单编号 + code?: string; // 装箱单编码 + parentId?: number; // 父箱编号 + packageDate?: number; // 装箱日期 + salesOrderCode?: string; // 销售订单编号 + invoiceCode?: string; // 发票编号 + clientId?: number; // 客户编号 + clientCode?: string; // 客户编码 + clientName?: string; // 客户名称 + clientNickname?: string; // 客户简称 + length?: number; // 箱长度 + width?: number; // 箱宽度 + height?: number; // 箱高度 + sizeUnitId?: number; // 尺寸单位编号 + sizeUnitName?: string; // 尺寸单位名称 + netWeight?: number; // 净重 + grossWeight?: number; // 毛重 + weightUnitId?: number; // 重量单位编号 + weightUnitName?: string; // 重量单位名称 + inspectorUserId?: number; // 检查员用户编号 + inspectorName?: string; // 检查员名称 + status?: number; // 单据状态 + remark?: string; // 备注 + createTime?: string; // 创建时间 + children?: Package[]; // 子箱列表 + } +} + +/** 查询装箱单分页 */ +export function getPackagePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/package/page', + { params }, + ); +} + +/** 查询装箱单详情 */ +export function getPackage(id: number) { + return requestClient.get( + `/mes/wm/package/get?id=${id}`, + ); +} + +/** 新增装箱单 */ +export function createPackage(data: MesWmPackageApi.Package) { + return requestClient.post('/mes/wm/package/create', data); +} + +/** 修改装箱单 */ +export function updatePackage(data: MesWmPackageApi.Package) { + return requestClient.put('/mes/wm/package/update', data); +} + +/** 删除装箱单 */ +export function deletePackage(id: number) { + return requestClient.delete(`/mes/wm/package/delete?id=${id}`); +} + +/** 完成装箱单 */ +export function finishPackage(id: number) { + return requestClient.put(`/mes/wm/package/finish?id=${id}`); +} + +/** 添加子箱 */ +export function addChildPackage(parentId: number, childId: number) { + return requestClient.put('/mes/wm/package/add-child-package', null, { + params: { childId, parentId }, + }); +} + +/** 移除子箱 */ +export function removeChildPackage(childId: number) { + return requestClient.put( + `/mes/wm/package/remove-child-package?childId=${childId}`, + ); +} diff --git a/apps/web-antd/src/api/mes/wm/packages/line/index.ts b/apps/web-antd/src/api/mes/wm/packages/line/index.ts new file mode 100644 index 000000000..0f8e77b4e --- /dev/null +++ b/apps/web-antd/src/api/mes/wm/packages/line/index.ts @@ -0,0 +1,54 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmPackageLineApi { + /** 装箱明细 */ + export interface PackageLine { + id?: number; // 装箱明细编号 + packageId?: number; // 装箱单编号 + materialStockId?: number; // 库存编号 + itemId?: number; // 产品物料编号 + itemCode?: string; // 产品物料编码 + itemName?: string; // 产品物料名称 + specification?: string; // 规格型号 + unitMeasureName?: string; // 计量单位名称 + quantity?: number; // 装箱数量 + workOrderId?: number; // 生产工单编号 + workOrderCode?: string; // 生产工单编号 + batchCode?: string; // 批次号 + expireDate?: number; // 有效期 + remark?: string; // 备注 + createTime?: string; // 创建时间 + } +} + +/** 查询装箱明细分页 */ +export function getPackageLinePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/package-line/page', + { params }, + ); +} + +/** 查询装箱明细详情 */ +export function getPackageLine(id: number) { + return requestClient.get( + `/mes/wm/package-line/get?id=${id}`, + ); +} + +/** 新增装箱明细 */ +export function createPackageLine(data: MesWmPackageLineApi.PackageLine) { + return requestClient.post('/mes/wm/package-line/create', data); +} + +/** 修改装箱明细 */ +export function updatePackageLine(data: MesWmPackageLineApi.PackageLine) { + return requestClient.put('/mes/wm/package-line/update', data); +} + +/** 删除装箱明细 */ +export function deletePackageLine(id: number) { + return requestClient.delete(`/mes/wm/package-line/delete?id=${id}`); +} diff --git a/apps/web-antd/src/views/mes/utils/constants.ts b/apps/web-antd/src/views/mes/utils/constants.ts index 30427941b..224f9cc09 100644 --- a/apps/web-antd/src/views/mes/utils/constants.ts +++ b/apps/web-antd/src/views/mes/utils/constants.ts @@ -151,9 +151,18 @@ export const MesAutoCodeRuleCode = { TM_TOOL_CODE: 'TM_TOOL_CODE', WM_AREA_CODE: 'WM_AREA_CODE', WM_LOCATION_CODE: 'WM_LOCATION_CODE', + WM_MISC_ISSUE_CODE: 'WM_MISC_ISSUE_CODE', + WM_MISC_RECEIPT_CODE: 'WM_MISC_RECEIPT_CODE', + WM_PACKAGE_CODE: 'WM_PACKAGE_CODE', WM_WAREHOUSE_CODE: 'WM_WAREHOUSE_CODE', } as const; +/** MES 装箱单状态枚举 */ +export const MesWmPackageStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + FINISHED: MesOrderStatusConstants.FINISHED, +} as const; + /** MES 生产工单状态枚举 */ export const MesProWorkOrderStatusEnum = { PREPARE: MesOrderStatusConstants.DRAFT, @@ -211,6 +220,22 @@ export const MesProWorkRecordTypeEnum = { CLOCK_OUT: 2, } as const; +/** MES 杂项出库单状态枚举 */ +export const MesWmMiscIssueStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + APPROVED: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELED: MesOrderStatusConstants.CANCELLED, +} as const; + +/** MES 杂项入库单状态枚举 */ +export const MesWmMiscReceiptStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + APPROVED: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELED: MesOrderStatusConstants.CANCELLED, +} as const; + /** MES 质检结果值类型枚举 */ export const MesQcResultValueType = { FLOAT: 1, diff --git a/apps/web-ele/src/api/mes/wm/miscissue/index.ts b/apps/web-ele/src/api/mes/wm/miscissue/index.ts new file mode 100644 index 000000000..7ce7ede46 --- /dev/null +++ b/apps/web-ele/src/api/mes/wm/miscissue/index.ts @@ -0,0 +1,70 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscIssueApi { + /** MES 杂项出库单 */ + export interface MiscIssue { + id?: number; // 编号 + code?: string; // 出库单编号 + name?: string; // 出库单名称 + type?: string; // 业务类型 + sourceDocType?: string; // 来源单据类型 + sourceDocId?: number; // 来源单据编号 + sourceDocCode?: string; // 来源单据编码 + issueDate?: number; // 出库日期 + status?: number; // 单据状态 + remark?: string; // 备注 + createTime?: Date; // 创建时间 + } +} + +/** 查询杂项出库单分页 */ +export function getMiscIssuePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/misc-issue/page', + { params }, + ); +} + +/** 查询杂项出库单详情 */ +export function getMiscIssue(id: number) { + return requestClient.get( + `/mes/wm/misc-issue/get?id=${id}`, + ); +} + +/** 新增杂项出库单 */ +export function createMiscIssue(data: MesWmMiscIssueApi.MiscIssue) { + return requestClient.post('/mes/wm/misc-issue/create', data); +} + +/** 修改杂项出库单 */ +export function updateMiscIssue(data: MesWmMiscIssueApi.MiscIssue) { + return requestClient.put('/mes/wm/misc-issue/update', data); +} + +/** 删除杂项出库单 */ +export function deleteMiscIssue(id: number) { + return requestClient.delete(`/mes/wm/misc-issue/delete?id=${id}`); +} + +/** 提交杂项出库单 */ +export function submitMiscIssue(id: number) { + return requestClient.put(`/mes/wm/misc-issue/submit?id=${id}`); +} + +/** 执行出库 */ +export function finishMiscIssue(id: number) { + return requestClient.put(`/mes/wm/misc-issue/finish?id=${id}`); +} + +/** 取消杂项出库单 */ +export function cancelMiscIssue(id: number) { + return requestClient.put(`/mes/wm/misc-issue/cancel?id=${id}`); +} + +/** 导出杂项出库单 */ +export function exportMiscIssue(params: any) { + return requestClient.download('/mes/wm/misc-issue/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/mes/wm/miscissue/line/index.ts b/apps/web-ele/src/api/mes/wm/miscissue/line/index.ts new file mode 100644 index 000000000..56f4d8950 --- /dev/null +++ b/apps/web-ele/src/api/mes/wm/miscissue/line/index.ts @@ -0,0 +1,70 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscIssueLineApi { + /** MES 杂项出库单行 */ + export interface MiscIssueLine { + id?: number; // 编号 + issueId?: number; // 出库单编号 + sourceDocLineId?: number; // 来源单据行编号 + materialStockId?: number; // 库存编号 + itemId?: number; // 物料编号 + itemCode?: string; // 物料编码 + itemName?: string; // 物料名称 + specification?: string; // 规格型号 + unitMeasure?: string; // 计量单位 + unitMeasureName?: string; // 计量单位名称 + quantity?: number; // 出库数量 + batchId?: number; // 批次编号 + batchCode?: string; // 批次号 + warehouseId?: number; // 仓库编号 + warehouseCode?: string; // 仓库编码 + warehouseName?: string; // 仓库名称 + locationId?: number; // 库区编号 + locationCode?: string; // 库区编码 + locationName?: string; // 库区名称 + areaId?: number; // 库位编号 + areaCode?: string; // 库位编码 + areaName?: string; // 库位名称 + remark?: string; // 备注 + quantityMax?: number; // 可出库最大数量(前端用于限制出库数量,取自库存在库数量) + } +} + +/** 查询杂项出库单行分页 */ +export function getMiscIssueLinePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/misc-issue-line/page', + { params }, + ); +} + +/** 查询杂项出库单行列表 */ +export function getMiscIssueLineListByIssueId(issueId: number) { + return requestClient.get( + `/mes/wm/misc-issue-line/list-by-issue-id?issueId=${issueId}`, + ); +} + +/** 查询杂项出库单行详情 */ +export function getMiscIssueLine(id: number) { + return requestClient.get( + `/mes/wm/misc-issue-line/get?id=${id}`, + ); +} + +/** 新增杂项出库单行 */ +export function createMiscIssueLine(data: MesWmMiscIssueLineApi.MiscIssueLine) { + return requestClient.post('/mes/wm/misc-issue-line/create', data); +} + +/** 修改杂项出库单行 */ +export function updateMiscIssueLine(data: MesWmMiscIssueLineApi.MiscIssueLine) { + return requestClient.put('/mes/wm/misc-issue-line/update', data); +} + +/** 删除杂项出库单行 */ +export function deleteMiscIssueLine(id: number) { + return requestClient.delete(`/mes/wm/misc-issue-line/delete?id=${id}`); +} diff --git a/apps/web-ele/src/api/mes/wm/miscreceipt/index.ts b/apps/web-ele/src/api/mes/wm/miscreceipt/index.ts new file mode 100644 index 000000000..112cb4aac --- /dev/null +++ b/apps/web-ele/src/api/mes/wm/miscreceipt/index.ts @@ -0,0 +1,70 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscReceiptApi { + /** MES 杂项入库单 */ + export interface MiscReceipt { + id?: number; // 编号 + code?: string; // 入库单编号 + name?: string; // 入库单名称 + type?: number; // 杂项类型 + sourceDocType?: string; // 来源单据类型 + sourceDocId?: number; // 来源单据编号 + sourceDocCode?: string; // 来源单据编码 + receiptDate?: number; // 入库日期 + status?: number; // 单据状态 + remark?: string; // 备注 + createTime?: Date; // 创建时间 + } +} + +/** 查询杂项入库单分页 */ +export function getMiscReceiptPage(params: PageParam) { + return requestClient.get>( + '/mes/wm/misc-receipt/page', + { params }, + ); +} + +/** 查询杂项入库单详情 */ +export function getMiscReceipt(id: number) { + return requestClient.get( + `/mes/wm/misc-receipt/get?id=${id}`, + ); +} + +/** 新增杂项入库单 */ +export function createMiscReceipt(data: MesWmMiscReceiptApi.MiscReceipt) { + return requestClient.post('/mes/wm/misc-receipt/create', data); +} + +/** 修改杂项入库单 */ +export function updateMiscReceipt(data: MesWmMiscReceiptApi.MiscReceipt) { + return requestClient.put('/mes/wm/misc-receipt/update', data); +} + +/** 删除杂项入库单 */ +export function deleteMiscReceipt(id: number) { + return requestClient.delete(`/mes/wm/misc-receipt/delete?id=${id}`); +} + +/** 提交杂项入库单 */ +export function submitMiscReceipt(id: number) { + return requestClient.put(`/mes/wm/misc-receipt/submit?id=${id}`); +} + +/** 执行入库 */ +export function finishMiscReceipt(id: number) { + return requestClient.put(`/mes/wm/misc-receipt/finish?id=${id}`); +} + +/** 取消杂项入库单 */ +export function cancelMiscReceipt(id: number) { + return requestClient.put(`/mes/wm/misc-receipt/cancel?id=${id}`); +} + +/** 导出杂项入库单 */ +export function exportMiscReceipt(params: any) { + return requestClient.download('/mes/wm/misc-receipt/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/mes/wm/miscreceipt/line/index.ts b/apps/web-ele/src/api/mes/wm/miscreceipt/line/index.ts new file mode 100644 index 000000000..4ff66e549 --- /dev/null +++ b/apps/web-ele/src/api/mes/wm/miscreceipt/line/index.ts @@ -0,0 +1,57 @@ +import { requestClient } from '#/api/request'; + +export namespace MesWmMiscReceiptLineApi { + /** MES 杂项入库单行 */ + export interface MiscReceiptLine { + id?: number; // 编号 + receiptId?: number; // 入库单编号 + itemId?: number; // 物料编号 + itemCode?: string; // 物料编码 + itemName?: string; // 物料名称 + specification?: string; // 规格型号 + unitMeasureName?: string; // 计量单位名称 + quantity?: number; // 入库数量 + batchCode?: string; // 批次号 + warehouseId?: number; // 仓库编号 + warehouseName?: string; // 仓库名称 + locationId?: number; // 库区编号 + locationName?: string; // 库区名称 + areaId?: number; // 库位编号 + areaName?: string; // 库位名称 + remark?: string; // 备注 + createTime?: Date; // 创建时间 + } +} + +/** 查询杂项入库单行列表 */ +export function getMiscReceiptLineListByReceiptId(receiptId: number) { + return requestClient.get( + `/mes/wm/misc-receipt-line/list-by-receipt-id?receiptId=${receiptId}`, + ); +} + +/** 查询杂项入库单行详情 */ +export function getMiscReceiptLine(id: number) { + return requestClient.get( + `/mes/wm/misc-receipt-line/get?id=${id}`, + ); +} + +/** 新增杂项入库单行 */ +export function createMiscReceiptLine( + data: MesWmMiscReceiptLineApi.MiscReceiptLine, +) { + return requestClient.post('/mes/wm/misc-receipt-line/create', data); +} + +/** 修改杂项入库单行 */ +export function updateMiscReceiptLine( + data: MesWmMiscReceiptLineApi.MiscReceiptLine, +) { + return requestClient.put('/mes/wm/misc-receipt-line/update', data); +} + +/** 删除杂项入库单行 */ +export function deleteMiscReceiptLine(id: number) { + return requestClient.delete(`/mes/wm/misc-receipt-line/delete?id=${id}`); +} diff --git a/apps/web-ele/src/api/mes/wm/packages/index.ts b/apps/web-ele/src/api/mes/wm/packages/index.ts new file mode 100644 index 000000000..cdbe51cf0 --- /dev/null +++ b/apps/web-ele/src/api/mes/wm/packages/index.ts @@ -0,0 +1,83 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmPackageApi { + /** 装箱单 */ + export interface Package { + id?: number; // 装箱单编号 + code?: string; // 装箱单编码 + parentId?: number; // 父箱编号 + packageDate?: number; // 装箱日期 + salesOrderCode?: string; // 销售订单编号 + invoiceCode?: string; // 发票编号 + clientId?: number; // 客户编号 + clientCode?: string; // 客户编码 + clientName?: string; // 客户名称 + clientNickname?: string; // 客户简称 + length?: number; // 箱长度 + width?: number; // 箱宽度 + height?: number; // 箱高度 + sizeUnitId?: number; // 尺寸单位编号 + sizeUnitName?: string; // 尺寸单位名称 + netWeight?: number; // 净重 + grossWeight?: number; // 毛重 + weightUnitId?: number; // 重量单位编号 + weightUnitName?: string; // 重量单位名称 + inspectorUserId?: number; // 检查员用户编号 + inspectorName?: string; // 检查员名称 + status?: number; // 单据状态 + remark?: string; // 备注 + createTime?: string; // 创建时间 + children?: Package[]; // 子箱列表 + } +} + +/** 查询装箱单分页 */ +export function getPackagePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/package/page', + { params }, + ); +} + +/** 查询装箱单详情 */ +export function getPackage(id: number) { + return requestClient.get( + `/mes/wm/package/get?id=${id}`, + ); +} + +/** 新增装箱单 */ +export function createPackage(data: MesWmPackageApi.Package) { + return requestClient.post('/mes/wm/package/create', data); +} + +/** 修改装箱单 */ +export function updatePackage(data: MesWmPackageApi.Package) { + return requestClient.put('/mes/wm/package/update', data); +} + +/** 删除装箱单 */ +export function deletePackage(id: number) { + return requestClient.delete(`/mes/wm/package/delete?id=${id}`); +} + +/** 完成装箱单 */ +export function finishPackage(id: number) { + return requestClient.put(`/mes/wm/package/finish?id=${id}`); +} + +/** 添加子箱 */ +export function addChildPackage(parentId: number, childId: number) { + return requestClient.put('/mes/wm/package/add-child-package', null, { + params: { childId, parentId }, + }); +} + +/** 移除子箱 */ +export function removeChildPackage(childId: number) { + return requestClient.put( + `/mes/wm/package/remove-child-package?childId=${childId}`, + ); +} diff --git a/apps/web-ele/src/api/mes/wm/packages/line/index.ts b/apps/web-ele/src/api/mes/wm/packages/line/index.ts new file mode 100644 index 000000000..0f8e77b4e --- /dev/null +++ b/apps/web-ele/src/api/mes/wm/packages/line/index.ts @@ -0,0 +1,54 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesWmPackageLineApi { + /** 装箱明细 */ + export interface PackageLine { + id?: number; // 装箱明细编号 + packageId?: number; // 装箱单编号 + materialStockId?: number; // 库存编号 + itemId?: number; // 产品物料编号 + itemCode?: string; // 产品物料编码 + itemName?: string; // 产品物料名称 + specification?: string; // 规格型号 + unitMeasureName?: string; // 计量单位名称 + quantity?: number; // 装箱数量 + workOrderId?: number; // 生产工单编号 + workOrderCode?: string; // 生产工单编号 + batchCode?: string; // 批次号 + expireDate?: number; // 有效期 + remark?: string; // 备注 + createTime?: string; // 创建时间 + } +} + +/** 查询装箱明细分页 */ +export function getPackageLinePage(params: PageParam) { + return requestClient.get>( + '/mes/wm/package-line/page', + { params }, + ); +} + +/** 查询装箱明细详情 */ +export function getPackageLine(id: number) { + return requestClient.get( + `/mes/wm/package-line/get?id=${id}`, + ); +} + +/** 新增装箱明细 */ +export function createPackageLine(data: MesWmPackageLineApi.PackageLine) { + return requestClient.post('/mes/wm/package-line/create', data); +} + +/** 修改装箱明细 */ +export function updatePackageLine(data: MesWmPackageLineApi.PackageLine) { + return requestClient.put('/mes/wm/package-line/update', data); +} + +/** 删除装箱明细 */ +export function deletePackageLine(id: number) { + return requestClient.delete(`/mes/wm/package-line/delete?id=${id}`); +} diff --git a/apps/web-ele/src/views/mes/utils/constants.ts b/apps/web-ele/src/views/mes/utils/constants.ts index 30427941b..224f9cc09 100644 --- a/apps/web-ele/src/views/mes/utils/constants.ts +++ b/apps/web-ele/src/views/mes/utils/constants.ts @@ -151,9 +151,18 @@ export const MesAutoCodeRuleCode = { TM_TOOL_CODE: 'TM_TOOL_CODE', WM_AREA_CODE: 'WM_AREA_CODE', WM_LOCATION_CODE: 'WM_LOCATION_CODE', + WM_MISC_ISSUE_CODE: 'WM_MISC_ISSUE_CODE', + WM_MISC_RECEIPT_CODE: 'WM_MISC_RECEIPT_CODE', + WM_PACKAGE_CODE: 'WM_PACKAGE_CODE', WM_WAREHOUSE_CODE: 'WM_WAREHOUSE_CODE', } as const; +/** MES 装箱单状态枚举 */ +export const MesWmPackageStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + FINISHED: MesOrderStatusConstants.FINISHED, +} as const; + /** MES 生产工单状态枚举 */ export const MesProWorkOrderStatusEnum = { PREPARE: MesOrderStatusConstants.DRAFT, @@ -211,6 +220,22 @@ export const MesProWorkRecordTypeEnum = { CLOCK_OUT: 2, } as const; +/** MES 杂项出库单状态枚举 */ +export const MesWmMiscIssueStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + APPROVED: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELED: MesOrderStatusConstants.CANCELLED, +} as const; + +/** MES 杂项入库单状态枚举 */ +export const MesWmMiscReceiptStatusEnum = { + PREPARE: MesOrderStatusConstants.DRAFT, + APPROVED: MesOrderStatusConstants.APPROVED, + FINISHED: MesOrderStatusConstants.FINISHED, + CANCELED: MesOrderStatusConstants.CANCELLED, +} as const; + /** MES 质检结果值类型枚举 */ export const MesQcResultValueType = { FLOAT: 1, diff --git a/packages/constants/src/dict-enum.ts b/packages/constants/src/dict-enum.ts index 197c21e6c..995a6e069 100644 --- a/packages/constants/src/dict-enum.ts +++ b/packages/constants/src/dict-enum.ts @@ -223,8 +223,13 @@ const MES_DICT = { MES_DEFECT_LEVEL: 'mes_defect_level', // MES 缺陷等级 MES_WM_BARCODE_BIZ_TYPE: 'mes_wm_barcode_biz_type', // MES 条码业务类型 MES_WM_BARCODE_FORMAT: 'mes_wm_barcode_format', // MES 条码格式 + MES_WM_PACKAGE_STATUS: 'mes_wm_package_status', // MES 装箱单状态 MES_WM_PRODUCT_SALES_STATUS: 'mes_wm_product_sales_status', // MES 销售出库单状态 MES_WM_QUALITY_STATUS: 'mes_wm_quality_status', // MES 质量状态 + MES_WM_MISC_ISSUE_TYPE: 'mes_wm_misc_issue_type', // MES 杂项出库类型 + MES_WM_MISC_ISSUE_STATUS: 'mes_wm_misc_issue_status', // MES 杂项出库单状态 + MES_WM_MISC_RECEIPT_TYPE: 'mes_wm_misc_receipt_type', // MES 杂项入库类型 + MES_WM_MISC_RECEIPT_STATUS: 'mes_wm_misc_receipt_status', // MES 杂项入库单状态 } as const; /** ========== WMS - 仓储管理模块 ========== */