diff --git a/apps/web-antd/src/api/wms/home/index.ts b/apps/web-antd/src/api/wms/home/index.ts new file mode 100644 index 000000000..ae9577201 --- /dev/null +++ b/apps/web-antd/src/api/wms/home/index.ts @@ -0,0 +1,66 @@ +import { requestClient } from '#/api/request'; + +export namespace WmsHomeStatisticsApi { + export interface StatisticsReq { + goodsLimit?: number; + warehouseId?: number; + warehouseLimit?: number; + } + + export interface OrderStatus { + count: number; + status: number; + } + + export interface OrderSummary { + statuses: OrderStatus[]; + total: number; + type: number; + } + + export interface OrderTrend { + checkCount: number; + movementCount: number; + receiptCount: number; + shipmentCount: number; + time: number | string; + } + + export interface InventoryRankItem { + id: number; + name: string; + quantity: number; + } + + export interface InventorySummary { + goodsShareList: InventoryRankItem[]; + totalQuantity: number; + warehouseDistributionList: InventoryRankItem[]; + } +} + +export function getOrderSummary(params?: WmsHomeStatisticsApi.StatisticsReq) { + return requestClient.get( + '/wms/home-statistics/order-summary', + { params }, + ); +} + +export function getOrderTrend( + days?: number, + params?: WmsHomeStatisticsApi.StatisticsReq, +) { + return requestClient.get( + '/wms/home-statistics/order-trend', + { params: { ...params, days } }, + ); +} + +export function getInventorySummary( + params?: WmsHomeStatisticsApi.StatisticsReq, +) { + return requestClient.get( + '/wms/home-statistics/inventory-summary', + { params }, + ); +} diff --git a/apps/web-antd/src/api/wms/inventory/history/index.ts b/apps/web-antd/src/api/wms/inventory/history/index.ts new file mode 100644 index 000000000..02f6bccd1 --- /dev/null +++ b/apps/web-antd/src/api/wms/inventory/history/index.ts @@ -0,0 +1,37 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsInventoryHistoryApi { + /** WMS 库存记录 */ + export interface InventoryHistory { + id?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + beforeQuantity?: number; + afterQuantity?: number; + price?: number; + totalPrice?: number; + remark?: string; + orderId?: number; + orderNo?: string; + orderType?: number; + createTime?: Date; + } +} + +/** 查询库存记录分页 */ +export function getInventoryHistoryPage(params: PageParam) { + return requestClient.get>( + '/wms/inventory-history/page', + { params }, + ); +} diff --git a/apps/web-antd/src/api/wms/inventory/index.ts b/apps/web-antd/src/api/wms/inventory/index.ts new file mode 100644 index 000000000..90ca4a11d --- /dev/null +++ b/apps/web-antd/src/api/wms/inventory/index.ts @@ -0,0 +1,42 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsInventoryApi { + /** WMS 库存统计 */ + export interface Inventory { + id?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + remark?: string; + createTime?: Date; + } + + /** WMS 库存统计列表请求 */ + export interface InventoryListReq { + warehouseId: number; + } +} + +/** 查询库存统计分页 */ +export function getInventoryPage(params: PageParam) { + return requestClient.get>( + '/wms/inventory/page', + { params }, + ); +} + +/** 查询库存统计列表 */ +export function getInventoryList(params: WmsInventoryApi.InventoryListReq) { + return requestClient.get('/wms/inventory/list', { + params, + }); +} diff --git a/apps/web-antd/src/api/wms/md/item/brand/index.ts b/apps/web-antd/src/api/wms/md/item/brand/index.ts new file mode 100644 index 000000000..a251b05ca --- /dev/null +++ b/apps/web-antd/src/api/wms/md/item/brand/index.ts @@ -0,0 +1,55 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsItemBrandApi { + /** WMS 商品品牌 */ + export interface ItemBrand { + id?: number; + code?: string; + name?: string; + createTime?: Date; + } +} + +/** 查询商品品牌分页 */ +export function getItemBrandPage(params: PageParam) { + return requestClient.get>( + '/wms/item-brand/page', + { params }, + ); +} + +/** 查询商品品牌精简列表 */ +export function getItemBrandSimpleList() { + return requestClient.get( + '/wms/item-brand/simple-list', + ); +} + +/** 查询商品品牌详情 */ +export function getItemBrand(id: number) { + return requestClient.get( + `/wms/item-brand/get?id=${id}`, + ); +} + +/** 新增商品品牌 */ +export function createItemBrand(data: WmsItemBrandApi.ItemBrand) { + return requestClient.post('/wms/item-brand/create', data); +} + +/** 修改商品品牌 */ +export function updateItemBrand(data: WmsItemBrandApi.ItemBrand) { + return requestClient.put('/wms/item-brand/update', data); +} + +/** 删除商品品牌 */ +export function deleteItemBrand(id: number) { + return requestClient.delete(`/wms/item-brand/delete?id=${id}`); +} + +/** 导出商品品牌 */ +export function exportItemBrand(params: any) { + return requestClient.download('/wms/item-brand/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/wms/md/item/category/index.ts b/apps/web-antd/src/api/wms/md/item/category/index.ts new file mode 100644 index 000000000..be356f01e --- /dev/null +++ b/apps/web-antd/src/api/wms/md/item/category/index.ts @@ -0,0 +1,52 @@ +import { requestClient } from '#/api/request'; + +export namespace WmsItemCategoryApi { + /** WMS 商品分类 */ + export interface ItemCategory { + id?: number; + parentId?: number; + code?: string; + name?: string; + sort?: number; + status?: number; + createTime?: Date; + children?: ItemCategory[]; + } +} + +/** 查询商品分类列表 */ +export function getItemCategoryList(params?: any) { + return requestClient.get( + '/wms/item-category/list', + { params }, + ); +} + +/** 查询商品分类精简列表 */ +export function getItemCategorySimpleList() { + return requestClient.get( + '/wms/item-category/simple-list', + ); +} + +/** 查询商品分类详情 */ +export function getItemCategory(id: number) { + return requestClient.get( + `/wms/item-category/get?id=${id}`, + ); +} + +/** 新增商品分类 */ +export function createItemCategory(data: WmsItemCategoryApi.ItemCategory) { + return requestClient.post('/wms/item-category/create', data); +} + +/** 修改商品分类 */ +export function updateItemCategory(data: WmsItemCategoryApi.ItemCategory) { + return requestClient.put('/wms/item-category/update', data); +} + +/** 删除商品分类 */ +export function deleteItemCategory(id: number) { + return requestClient.delete(`/wms/item-category/delete?id=${id}`); +} diff --git a/apps/web-antd/src/api/wms/md/item/index.ts b/apps/web-antd/src/api/wms/md/item/index.ts new file mode 100644 index 000000000..fda44706c --- /dev/null +++ b/apps/web-antd/src/api/wms/md/item/index.ts @@ -0,0 +1,61 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsItemSkuApi } from './sku'; + +import { requestClient } from '#/api/request'; + +export namespace WmsItemApi { + /** WMS 商品 */ + export interface Item { + id?: number; + code?: string; + name?: string; + categoryId?: number; + categoryName?: string; + unit?: string; + brandId?: number; + brandName?: string; + remark?: string; + skus?: WmsItemSkuApi.ItemSku[]; + createTime?: Date; + } +} + +/** 查询商品分页 */ +export function getItemPage(params: PageParam) { + return requestClient.get>('/wms/item/page', { + params, + }); +} + +/** 查询商品精简列表 */ +export function getItemSimpleList(params?: any) { + return requestClient.get('/wms/item/simple-list', { + params, + }); +} + +/** 查询商品详情 */ +export function getItem(id: number) { + return requestClient.get(`/wms/item/get?id=${id}`); +} + +/** 新增商品 */ +export function createItem(data: WmsItemApi.Item) { + return requestClient.post('/wms/item/create', data); +} + +/** 修改商品 */ +export function updateItem(data: WmsItemApi.Item) { + return requestClient.put('/wms/item/update', data); +} + +/** 删除商品 */ +export function deleteItem(id: number) { + return requestClient.delete(`/wms/item/delete?id=${id}`); +} + +/** 导出商品 */ +export function exportItem(params: any) { + return requestClient.download('/wms/item/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/wms/md/item/sku/index.ts b/apps/web-antd/src/api/wms/md/item/sku/index.ts new file mode 100644 index 000000000..2296becf1 --- /dev/null +++ b/apps/web-antd/src/api/wms/md/item/sku/index.ts @@ -0,0 +1,37 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsItemSkuApi { + /** WMS 商品 SKU */ + export interface ItemSku { + id?: number; + name?: string; + itemId?: number; + itemCode?: string; + itemName?: string; + categoryId?: number; + categoryName?: string; + unit?: string; + brandId?: number; + brandName?: string; + barCode?: string; + code?: string; + length?: number; + width?: number; + height?: number; + grossWeight?: number; + netWeight?: number; + costPrice?: number; + sellingPrice?: number; + createTime?: Date; + } +} + +/** 按 SKU 维度分页(支持商品 / 品牌 / 分类多表联查筛选) */ +export function getItemSkuPage(params: PageParam) { + return requestClient.get>( + '/wms/item-sku/page', + { params }, + ); +} diff --git a/apps/web-antd/src/api/wms/order/check/detail/index.ts b/apps/web-antd/src/api/wms/order/check/detail/index.ts new file mode 100644 index 000000000..ae34b2154 --- /dev/null +++ b/apps/web-antd/src/api/wms/order/check/detail/index.ts @@ -0,0 +1,23 @@ +export namespace WmsCheckOrderDetailApi { + /** WMS 盘库单明细 */ + export interface CheckOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + inventoryId?: number; + warehouseId?: number; + warehouseName?: string; + receiptTime?: Date; + quantity?: number; + checkQuantity?: number; + availableQuantity?: number; + price?: number; + createTime?: Date; + } +} diff --git a/apps/web-antd/src/api/wms/order/check/index.ts b/apps/web-antd/src/api/wms/order/check/index.ts new file mode 100644 index 000000000..910c997d3 --- /dev/null +++ b/apps/web-antd/src/api/wms/order/check/index.ts @@ -0,0 +1,71 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsCheckOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsCheckOrderApi { + /** WMS 盘库单 */ + export interface CheckOrder { + id?: number; + no?: string; + orderTime?: string; + status?: number; + remark?: string; + warehouseId?: number; + warehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + actualPrice?: number; + details?: WmsCheckOrderDetailApi.CheckOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getCheckOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/check-order/page', + { params }, + ); +} + +export function getCheckOrder(id: number) { + return requestClient.get( + `/wms/check-order/get?id=${id}`, + ); +} + +export function getCheckOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/check-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createCheckOrder(data: WmsCheckOrderApi.CheckOrder) { + return requestClient.post('/wms/check-order/create', data); +} + +export function updateCheckOrder(data: WmsCheckOrderApi.CheckOrder) { + return requestClient.put('/wms/check-order/update', data); +} + +export function completeCheckOrder(id: number) { + return requestClient.put(`/wms/check-order/complete?id=${id}`); +} + +export function cancelCheckOrder(id: number) { + return requestClient.put(`/wms/check-order/cancel?id=${id}`); +} + +export function deleteCheckOrder(id: number) { + return requestClient.delete(`/wms/check-order/delete?id=${id}`); +} + +export function exportCheckOrder(params: any) { + return requestClient.download('/wms/check-order/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/wms/order/movement/detail/index.ts b/apps/web-antd/src/api/wms/order/movement/detail/index.ts new file mode 100644 index 000000000..25a3aec6a --- /dev/null +++ b/apps/web-antd/src/api/wms/order/movement/detail/index.ts @@ -0,0 +1,23 @@ +export namespace WmsMovementOrderDetailApi { + /** WMS 移库单明细 */ + export interface MovementOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + sourceWarehouseId?: number; + sourceWarehouseName?: string; + targetWarehouseId?: number; + targetWarehouseName?: string; + quantity?: number; + availableQuantity?: number; + price?: number; + totalPrice?: number; + createTime?: Date; + } +} diff --git a/apps/web-antd/src/api/wms/order/movement/index.ts b/apps/web-antd/src/api/wms/order/movement/index.ts new file mode 100644 index 000000000..f6b9e3197 --- /dev/null +++ b/apps/web-antd/src/api/wms/order/movement/index.ts @@ -0,0 +1,72 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsMovementOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsMovementOrderApi { + /** WMS 移库单 */ + export interface MovementOrder { + id?: number; + no?: string; + orderTime?: string; + status?: number; + remark?: string; + sourceWarehouseId?: number; + sourceWarehouseName?: string; + targetWarehouseId?: number; + targetWarehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + details?: WmsMovementOrderDetailApi.MovementOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getMovementOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/movement-order/page', + { params }, + ); +} + +export function getMovementOrder(id: number) { + return requestClient.get( + `/wms/movement-order/get?id=${id}`, + ); +} + +export function getMovementOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/movement-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createMovementOrder(data: WmsMovementOrderApi.MovementOrder) { + return requestClient.post('/wms/movement-order/create', data); +} + +export function updateMovementOrder(data: WmsMovementOrderApi.MovementOrder) { + return requestClient.put('/wms/movement-order/update', data); +} + +export function completeMovementOrder(id: number) { + return requestClient.put(`/wms/movement-order/complete?id=${id}`); +} + +export function cancelMovementOrder(id: number) { + return requestClient.put(`/wms/movement-order/cancel?id=${id}`); +} + +export function deleteMovementOrder(id: number) { + return requestClient.delete(`/wms/movement-order/delete?id=${id}`); +} + +export function exportMovementOrder(params: any) { + return requestClient.download('/wms/movement-order/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/wms/order/receipt/detail/index.ts b/apps/web-antd/src/api/wms/order/receipt/detail/index.ts new file mode 100644 index 000000000..0695c224d --- /dev/null +++ b/apps/web-antd/src/api/wms/order/receipt/detail/index.ts @@ -0,0 +1,20 @@ +export namespace WmsReceiptOrderDetailApi { + /** WMS 入库单明细 */ + export interface ReceiptOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + price?: number; + totalPrice?: number; + createTime?: Date; + } +} diff --git a/apps/web-antd/src/api/wms/order/receipt/index.ts b/apps/web-antd/src/api/wms/order/receipt/index.ts new file mode 100644 index 000000000..9c5a08a5e --- /dev/null +++ b/apps/web-antd/src/api/wms/order/receipt/index.ts @@ -0,0 +1,74 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsReceiptOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsReceiptOrderApi { + /** WMS 入库单 */ + export interface ReceiptOrder { + id?: number; + no?: string; + type?: number; + orderTime?: string; + status?: number; + bizOrderNo?: string; + merchantId?: number; + merchantName?: string; + remark?: string; + warehouseId?: number; + warehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + details?: WmsReceiptOrderDetailApi.ReceiptOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getReceiptOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/receipt-order/page', + { params }, + ); +} + +export function getReceiptOrder(id: number) { + return requestClient.get( + `/wms/receipt-order/get?id=${id}`, + ); +} + +export function getReceiptOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/receipt-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createReceiptOrder(data: WmsReceiptOrderApi.ReceiptOrder) { + return requestClient.post('/wms/receipt-order/create', data); +} + +export function updateReceiptOrder(data: WmsReceiptOrderApi.ReceiptOrder) { + return requestClient.put('/wms/receipt-order/update', data); +} + +export function completeReceiptOrder(id: number) { + return requestClient.put(`/wms/receipt-order/complete?id=${id}`); +} + +export function cancelReceiptOrder(id: number) { + return requestClient.put(`/wms/receipt-order/cancel?id=${id}`); +} + +export function deleteReceiptOrder(id: number) { + return requestClient.delete(`/wms/receipt-order/delete?id=${id}`); +} + +export function exportReceiptOrder(params: any) { + return requestClient.download('/wms/receipt-order/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/wms/order/shipment/detail/index.ts b/apps/web-antd/src/api/wms/order/shipment/detail/index.ts new file mode 100644 index 000000000..17e796e18 --- /dev/null +++ b/apps/web-antd/src/api/wms/order/shipment/detail/index.ts @@ -0,0 +1,21 @@ +export namespace WmsShipmentOrderDetailApi { + /** WMS 出库单明细 */ + export interface ShipmentOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + availableQuantity?: number; + price?: number; + totalPrice?: number; + createTime?: Date; + } +} diff --git a/apps/web-antd/src/api/wms/order/shipment/index.ts b/apps/web-antd/src/api/wms/order/shipment/index.ts new file mode 100644 index 000000000..b52dcdaca --- /dev/null +++ b/apps/web-antd/src/api/wms/order/shipment/index.ts @@ -0,0 +1,74 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsShipmentOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsShipmentOrderApi { + /** WMS 出库单 */ + export interface ShipmentOrder { + id?: number; + no?: string; + type?: number; + orderTime?: string; + status?: number; + bizOrderNo?: string; + merchantId?: number; + merchantName?: string; + remark?: string; + warehouseId?: number; + warehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + details?: WmsShipmentOrderDetailApi.ShipmentOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getShipmentOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/shipment-order/page', + { params }, + ); +} + +export function getShipmentOrder(id: number) { + return requestClient.get( + `/wms/shipment-order/get?id=${id}`, + ); +} + +export function getShipmentOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/shipment-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createShipmentOrder(data: WmsShipmentOrderApi.ShipmentOrder) { + return requestClient.post('/wms/shipment-order/create', data); +} + +export function updateShipmentOrder(data: WmsShipmentOrderApi.ShipmentOrder) { + return requestClient.put('/wms/shipment-order/update', data); +} + +export function completeShipmentOrder(id: number) { + return requestClient.put(`/wms/shipment-order/complete?id=${id}`); +} + +export function cancelShipmentOrder(id: number) { + return requestClient.put(`/wms/shipment-order/cancel?id=${id}`); +} + +export function deleteShipmentOrder(id: number) { + return requestClient.delete(`/wms/shipment-order/delete?id=${id}`); +} + +export function exportShipmentOrder(params: any) { + return requestClient.download('/wms/shipment-order/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/wms/home/index.ts b/apps/web-ele/src/api/wms/home/index.ts new file mode 100644 index 000000000..ae9577201 --- /dev/null +++ b/apps/web-ele/src/api/wms/home/index.ts @@ -0,0 +1,66 @@ +import { requestClient } from '#/api/request'; + +export namespace WmsHomeStatisticsApi { + export interface StatisticsReq { + goodsLimit?: number; + warehouseId?: number; + warehouseLimit?: number; + } + + export interface OrderStatus { + count: number; + status: number; + } + + export interface OrderSummary { + statuses: OrderStatus[]; + total: number; + type: number; + } + + export interface OrderTrend { + checkCount: number; + movementCount: number; + receiptCount: number; + shipmentCount: number; + time: number | string; + } + + export interface InventoryRankItem { + id: number; + name: string; + quantity: number; + } + + export interface InventorySummary { + goodsShareList: InventoryRankItem[]; + totalQuantity: number; + warehouseDistributionList: InventoryRankItem[]; + } +} + +export function getOrderSummary(params?: WmsHomeStatisticsApi.StatisticsReq) { + return requestClient.get( + '/wms/home-statistics/order-summary', + { params }, + ); +} + +export function getOrderTrend( + days?: number, + params?: WmsHomeStatisticsApi.StatisticsReq, +) { + return requestClient.get( + '/wms/home-statistics/order-trend', + { params: { ...params, days } }, + ); +} + +export function getInventorySummary( + params?: WmsHomeStatisticsApi.StatisticsReq, +) { + return requestClient.get( + '/wms/home-statistics/inventory-summary', + { params }, + ); +} diff --git a/apps/web-ele/src/api/wms/inventory/history/index.ts b/apps/web-ele/src/api/wms/inventory/history/index.ts new file mode 100644 index 000000000..02f6bccd1 --- /dev/null +++ b/apps/web-ele/src/api/wms/inventory/history/index.ts @@ -0,0 +1,37 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsInventoryHistoryApi { + /** WMS 库存记录 */ + export interface InventoryHistory { + id?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + beforeQuantity?: number; + afterQuantity?: number; + price?: number; + totalPrice?: number; + remark?: string; + orderId?: number; + orderNo?: string; + orderType?: number; + createTime?: Date; + } +} + +/** 查询库存记录分页 */ +export function getInventoryHistoryPage(params: PageParam) { + return requestClient.get>( + '/wms/inventory-history/page', + { params }, + ); +} diff --git a/apps/web-ele/src/api/wms/inventory/index.ts b/apps/web-ele/src/api/wms/inventory/index.ts new file mode 100644 index 000000000..90ca4a11d --- /dev/null +++ b/apps/web-ele/src/api/wms/inventory/index.ts @@ -0,0 +1,42 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsInventoryApi { + /** WMS 库存统计 */ + export interface Inventory { + id?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + remark?: string; + createTime?: Date; + } + + /** WMS 库存统计列表请求 */ + export interface InventoryListReq { + warehouseId: number; + } +} + +/** 查询库存统计分页 */ +export function getInventoryPage(params: PageParam) { + return requestClient.get>( + '/wms/inventory/page', + { params }, + ); +} + +/** 查询库存统计列表 */ +export function getInventoryList(params: WmsInventoryApi.InventoryListReq) { + return requestClient.get('/wms/inventory/list', { + params, + }); +} diff --git a/apps/web-ele/src/api/wms/md/item/brand/index.ts b/apps/web-ele/src/api/wms/md/item/brand/index.ts new file mode 100644 index 000000000..a251b05ca --- /dev/null +++ b/apps/web-ele/src/api/wms/md/item/brand/index.ts @@ -0,0 +1,55 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsItemBrandApi { + /** WMS 商品品牌 */ + export interface ItemBrand { + id?: number; + code?: string; + name?: string; + createTime?: Date; + } +} + +/** 查询商品品牌分页 */ +export function getItemBrandPage(params: PageParam) { + return requestClient.get>( + '/wms/item-brand/page', + { params }, + ); +} + +/** 查询商品品牌精简列表 */ +export function getItemBrandSimpleList() { + return requestClient.get( + '/wms/item-brand/simple-list', + ); +} + +/** 查询商品品牌详情 */ +export function getItemBrand(id: number) { + return requestClient.get( + `/wms/item-brand/get?id=${id}`, + ); +} + +/** 新增商品品牌 */ +export function createItemBrand(data: WmsItemBrandApi.ItemBrand) { + return requestClient.post('/wms/item-brand/create', data); +} + +/** 修改商品品牌 */ +export function updateItemBrand(data: WmsItemBrandApi.ItemBrand) { + return requestClient.put('/wms/item-brand/update', data); +} + +/** 删除商品品牌 */ +export function deleteItemBrand(id: number) { + return requestClient.delete(`/wms/item-brand/delete?id=${id}`); +} + +/** 导出商品品牌 */ +export function exportItemBrand(params: any) { + return requestClient.download('/wms/item-brand/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/wms/md/item/category/index.ts b/apps/web-ele/src/api/wms/md/item/category/index.ts new file mode 100644 index 000000000..be356f01e --- /dev/null +++ b/apps/web-ele/src/api/wms/md/item/category/index.ts @@ -0,0 +1,52 @@ +import { requestClient } from '#/api/request'; + +export namespace WmsItemCategoryApi { + /** WMS 商品分类 */ + export interface ItemCategory { + id?: number; + parentId?: number; + code?: string; + name?: string; + sort?: number; + status?: number; + createTime?: Date; + children?: ItemCategory[]; + } +} + +/** 查询商品分类列表 */ +export function getItemCategoryList(params?: any) { + return requestClient.get( + '/wms/item-category/list', + { params }, + ); +} + +/** 查询商品分类精简列表 */ +export function getItemCategorySimpleList() { + return requestClient.get( + '/wms/item-category/simple-list', + ); +} + +/** 查询商品分类详情 */ +export function getItemCategory(id: number) { + return requestClient.get( + `/wms/item-category/get?id=${id}`, + ); +} + +/** 新增商品分类 */ +export function createItemCategory(data: WmsItemCategoryApi.ItemCategory) { + return requestClient.post('/wms/item-category/create', data); +} + +/** 修改商品分类 */ +export function updateItemCategory(data: WmsItemCategoryApi.ItemCategory) { + return requestClient.put('/wms/item-category/update', data); +} + +/** 删除商品分类 */ +export function deleteItemCategory(id: number) { + return requestClient.delete(`/wms/item-category/delete?id=${id}`); +} diff --git a/apps/web-ele/src/api/wms/md/item/index.ts b/apps/web-ele/src/api/wms/md/item/index.ts new file mode 100644 index 000000000..fda44706c --- /dev/null +++ b/apps/web-ele/src/api/wms/md/item/index.ts @@ -0,0 +1,61 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsItemSkuApi } from './sku'; + +import { requestClient } from '#/api/request'; + +export namespace WmsItemApi { + /** WMS 商品 */ + export interface Item { + id?: number; + code?: string; + name?: string; + categoryId?: number; + categoryName?: string; + unit?: string; + brandId?: number; + brandName?: string; + remark?: string; + skus?: WmsItemSkuApi.ItemSku[]; + createTime?: Date; + } +} + +/** 查询商品分页 */ +export function getItemPage(params: PageParam) { + return requestClient.get>('/wms/item/page', { + params, + }); +} + +/** 查询商品精简列表 */ +export function getItemSimpleList(params?: any) { + return requestClient.get('/wms/item/simple-list', { + params, + }); +} + +/** 查询商品详情 */ +export function getItem(id: number) { + return requestClient.get(`/wms/item/get?id=${id}`); +} + +/** 新增商品 */ +export function createItem(data: WmsItemApi.Item) { + return requestClient.post('/wms/item/create', data); +} + +/** 修改商品 */ +export function updateItem(data: WmsItemApi.Item) { + return requestClient.put('/wms/item/update', data); +} + +/** 删除商品 */ +export function deleteItem(id: number) { + return requestClient.delete(`/wms/item/delete?id=${id}`); +} + +/** 导出商品 */ +export function exportItem(params: any) { + return requestClient.download('/wms/item/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/wms/md/item/sku/index.ts b/apps/web-ele/src/api/wms/md/item/sku/index.ts new file mode 100644 index 000000000..2296becf1 --- /dev/null +++ b/apps/web-ele/src/api/wms/md/item/sku/index.ts @@ -0,0 +1,37 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace WmsItemSkuApi { + /** WMS 商品 SKU */ + export interface ItemSku { + id?: number; + name?: string; + itemId?: number; + itemCode?: string; + itemName?: string; + categoryId?: number; + categoryName?: string; + unit?: string; + brandId?: number; + brandName?: string; + barCode?: string; + code?: string; + length?: number; + width?: number; + height?: number; + grossWeight?: number; + netWeight?: number; + costPrice?: number; + sellingPrice?: number; + createTime?: Date; + } +} + +/** 按 SKU 维度分页(支持商品 / 品牌 / 分类多表联查筛选) */ +export function getItemSkuPage(params: PageParam) { + return requestClient.get>( + '/wms/item-sku/page', + { params }, + ); +} diff --git a/apps/web-ele/src/api/wms/order/check/detail/index.ts b/apps/web-ele/src/api/wms/order/check/detail/index.ts new file mode 100644 index 000000000..ae34b2154 --- /dev/null +++ b/apps/web-ele/src/api/wms/order/check/detail/index.ts @@ -0,0 +1,23 @@ +export namespace WmsCheckOrderDetailApi { + /** WMS 盘库单明细 */ + export interface CheckOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + inventoryId?: number; + warehouseId?: number; + warehouseName?: string; + receiptTime?: Date; + quantity?: number; + checkQuantity?: number; + availableQuantity?: number; + price?: number; + createTime?: Date; + } +} diff --git a/apps/web-ele/src/api/wms/order/check/index.ts b/apps/web-ele/src/api/wms/order/check/index.ts new file mode 100644 index 000000000..910c997d3 --- /dev/null +++ b/apps/web-ele/src/api/wms/order/check/index.ts @@ -0,0 +1,71 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsCheckOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsCheckOrderApi { + /** WMS 盘库单 */ + export interface CheckOrder { + id?: number; + no?: string; + orderTime?: string; + status?: number; + remark?: string; + warehouseId?: number; + warehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + actualPrice?: number; + details?: WmsCheckOrderDetailApi.CheckOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getCheckOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/check-order/page', + { params }, + ); +} + +export function getCheckOrder(id: number) { + return requestClient.get( + `/wms/check-order/get?id=${id}`, + ); +} + +export function getCheckOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/check-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createCheckOrder(data: WmsCheckOrderApi.CheckOrder) { + return requestClient.post('/wms/check-order/create', data); +} + +export function updateCheckOrder(data: WmsCheckOrderApi.CheckOrder) { + return requestClient.put('/wms/check-order/update', data); +} + +export function completeCheckOrder(id: number) { + return requestClient.put(`/wms/check-order/complete?id=${id}`); +} + +export function cancelCheckOrder(id: number) { + return requestClient.put(`/wms/check-order/cancel?id=${id}`); +} + +export function deleteCheckOrder(id: number) { + return requestClient.delete(`/wms/check-order/delete?id=${id}`); +} + +export function exportCheckOrder(params: any) { + return requestClient.download('/wms/check-order/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/wms/order/movement/detail/index.ts b/apps/web-ele/src/api/wms/order/movement/detail/index.ts new file mode 100644 index 000000000..25a3aec6a --- /dev/null +++ b/apps/web-ele/src/api/wms/order/movement/detail/index.ts @@ -0,0 +1,23 @@ +export namespace WmsMovementOrderDetailApi { + /** WMS 移库单明细 */ + export interface MovementOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + sourceWarehouseId?: number; + sourceWarehouseName?: string; + targetWarehouseId?: number; + targetWarehouseName?: string; + quantity?: number; + availableQuantity?: number; + price?: number; + totalPrice?: number; + createTime?: Date; + } +} diff --git a/apps/web-ele/src/api/wms/order/movement/index.ts b/apps/web-ele/src/api/wms/order/movement/index.ts new file mode 100644 index 000000000..f6b9e3197 --- /dev/null +++ b/apps/web-ele/src/api/wms/order/movement/index.ts @@ -0,0 +1,72 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsMovementOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsMovementOrderApi { + /** WMS 移库单 */ + export interface MovementOrder { + id?: number; + no?: string; + orderTime?: string; + status?: number; + remark?: string; + sourceWarehouseId?: number; + sourceWarehouseName?: string; + targetWarehouseId?: number; + targetWarehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + details?: WmsMovementOrderDetailApi.MovementOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getMovementOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/movement-order/page', + { params }, + ); +} + +export function getMovementOrder(id: number) { + return requestClient.get( + `/wms/movement-order/get?id=${id}`, + ); +} + +export function getMovementOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/movement-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createMovementOrder(data: WmsMovementOrderApi.MovementOrder) { + return requestClient.post('/wms/movement-order/create', data); +} + +export function updateMovementOrder(data: WmsMovementOrderApi.MovementOrder) { + return requestClient.put('/wms/movement-order/update', data); +} + +export function completeMovementOrder(id: number) { + return requestClient.put(`/wms/movement-order/complete?id=${id}`); +} + +export function cancelMovementOrder(id: number) { + return requestClient.put(`/wms/movement-order/cancel?id=${id}`); +} + +export function deleteMovementOrder(id: number) { + return requestClient.delete(`/wms/movement-order/delete?id=${id}`); +} + +export function exportMovementOrder(params: any) { + return requestClient.download('/wms/movement-order/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/wms/order/receipt/detail/index.ts b/apps/web-ele/src/api/wms/order/receipt/detail/index.ts new file mode 100644 index 000000000..0695c224d --- /dev/null +++ b/apps/web-ele/src/api/wms/order/receipt/detail/index.ts @@ -0,0 +1,20 @@ +export namespace WmsReceiptOrderDetailApi { + /** WMS 入库单明细 */ + export interface ReceiptOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + price?: number; + totalPrice?: number; + createTime?: Date; + } +} diff --git a/apps/web-ele/src/api/wms/order/receipt/index.ts b/apps/web-ele/src/api/wms/order/receipt/index.ts new file mode 100644 index 000000000..9c5a08a5e --- /dev/null +++ b/apps/web-ele/src/api/wms/order/receipt/index.ts @@ -0,0 +1,74 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsReceiptOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsReceiptOrderApi { + /** WMS 入库单 */ + export interface ReceiptOrder { + id?: number; + no?: string; + type?: number; + orderTime?: string; + status?: number; + bizOrderNo?: string; + merchantId?: number; + merchantName?: string; + remark?: string; + warehouseId?: number; + warehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + details?: WmsReceiptOrderDetailApi.ReceiptOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getReceiptOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/receipt-order/page', + { params }, + ); +} + +export function getReceiptOrder(id: number) { + return requestClient.get( + `/wms/receipt-order/get?id=${id}`, + ); +} + +export function getReceiptOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/receipt-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createReceiptOrder(data: WmsReceiptOrderApi.ReceiptOrder) { + return requestClient.post('/wms/receipt-order/create', data); +} + +export function updateReceiptOrder(data: WmsReceiptOrderApi.ReceiptOrder) { + return requestClient.put('/wms/receipt-order/update', data); +} + +export function completeReceiptOrder(id: number) { + return requestClient.put(`/wms/receipt-order/complete?id=${id}`); +} + +export function cancelReceiptOrder(id: number) { + return requestClient.put(`/wms/receipt-order/cancel?id=${id}`); +} + +export function deleteReceiptOrder(id: number) { + return requestClient.delete(`/wms/receipt-order/delete?id=${id}`); +} + +export function exportReceiptOrder(params: any) { + return requestClient.download('/wms/receipt-order/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/wms/order/shipment/detail/index.ts b/apps/web-ele/src/api/wms/order/shipment/detail/index.ts new file mode 100644 index 000000000..17e796e18 --- /dev/null +++ b/apps/web-ele/src/api/wms/order/shipment/detail/index.ts @@ -0,0 +1,21 @@ +export namespace WmsShipmentOrderDetailApi { + /** WMS 出库单明细 */ + export interface ShipmentOrderDetail { + id?: number; + orderId?: number; + itemId?: number; + itemCode?: string; + itemName?: string; + unit?: string; + skuId?: number; + skuCode?: string; + skuName?: string; + warehouseId?: number; + warehouseName?: string; + quantity?: number; + availableQuantity?: number; + price?: number; + totalPrice?: number; + createTime?: Date; + } +} diff --git a/apps/web-ele/src/api/wms/order/shipment/index.ts b/apps/web-ele/src/api/wms/order/shipment/index.ts new file mode 100644 index 000000000..b52dcdaca --- /dev/null +++ b/apps/web-ele/src/api/wms/order/shipment/index.ts @@ -0,0 +1,74 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import type { WmsShipmentOrderDetailApi } from './detail'; + +import { requestClient } from '#/api/request'; + +export namespace WmsShipmentOrderApi { + /** WMS 出库单 */ + export interface ShipmentOrder { + id?: number; + no?: string; + type?: number; + orderTime?: string; + status?: number; + bizOrderNo?: string; + merchantId?: number; + merchantName?: string; + remark?: string; + warehouseId?: number; + warehouseName?: string; + totalQuantity?: number; + totalPrice?: number; + details?: WmsShipmentOrderDetailApi.ShipmentOrderDetail[]; + createTime?: Date; + creator?: string; + creatorName?: string; + updateTime?: Date; + updater?: string; + updaterName?: string; + } +} + +export function getShipmentOrderPage(params: PageParam) { + return requestClient.get>( + '/wms/shipment-order/page', + { params }, + ); +} + +export function getShipmentOrder(id: number) { + return requestClient.get( + `/wms/shipment-order/get?id=${id}`, + ); +} + +export function getShipmentOrderDetailListByOrderId(orderId: number) { + return requestClient.get( + `/wms/shipment-order-detail/list-by-order-id?orderId=${orderId}`, + ); +} + +export function createShipmentOrder(data: WmsShipmentOrderApi.ShipmentOrder) { + return requestClient.post('/wms/shipment-order/create', data); +} + +export function updateShipmentOrder(data: WmsShipmentOrderApi.ShipmentOrder) { + return requestClient.put('/wms/shipment-order/update', data); +} + +export function completeShipmentOrder(id: number) { + return requestClient.put(`/wms/shipment-order/complete?id=${id}`); +} + +export function cancelShipmentOrder(id: number) { + return requestClient.put(`/wms/shipment-order/cancel?id=${id}`); +} + +export function deleteShipmentOrder(id: number) { + return requestClient.delete(`/wms/shipment-order/delete?id=${id}`); +} + +export function exportShipmentOrder(params: any) { + return requestClient.download('/wms/shipment-order/export-excel', { params }); +}