61 lines
1.7 KiB
TypeScript
61 lines
1.7 KiB
TypeScript
import request from './request'
|
|
|
|
export interface PurchaseNeedRow {
|
|
purchaseId: number
|
|
salesOrderCode: string
|
|
planCode: string
|
|
purchaseCode: string
|
|
itemCode: string
|
|
itemName: string
|
|
demandQty: number
|
|
availableQty: number
|
|
purchaseQty: number
|
|
orderedQty: number
|
|
unorderedQty: number // = purchaseQty - orderedQty (backend returns in totalQuantity)
|
|
purchaseDate: string
|
|
remark?: string
|
|
}
|
|
|
|
export interface PurchaseNeedQuery {
|
|
salesOrderCode?: string
|
|
itemCode?: string
|
|
itemName?: string
|
|
businessType?: string
|
|
beginDate?: string
|
|
endDate?: string
|
|
pageNum?: number
|
|
pageSize?: number
|
|
}
|
|
|
|
export interface PurchaseNeedListResponse {
|
|
rows: PurchaseNeedRow[]
|
|
total: number
|
|
}
|
|
|
|
export interface PurchaseNeedSummary {
|
|
totalPurchaseQty: number
|
|
totalOrderedQty: number
|
|
totalUnorderedQty: number
|
|
}
|
|
|
|
// 查询采购计划需求列表
|
|
export function getPurchaseNeedList(params: PurchaseNeedQuery): Promise<PurchaseNeedListResponse> {
|
|
return request.get('/erp/mp/purchase/need/list', { params }).then((res: any) => {
|
|
const rows = (res.rows || []).map((r: any) => ({
|
|
...r,
|
|
unorderedQty: r.totalQuantity // backend puts unordered qty in totalQuantity field
|
|
}))
|
|
return { rows, total: res.total || 0 }
|
|
})
|
|
}
|
|
|
|
// 查询采购计划需求汇总
|
|
export function getPurchaseNeedSummary(params: PurchaseNeedQuery): Promise<PurchaseNeedSummary> {
|
|
return request.get('/erp/mp/purchase/need/summary', { params }).then((res: any) => res.data || {})
|
|
}
|
|
|
|
// 导出采购计划需求表
|
|
export function exportPurchaseNeed(params: PurchaseNeedQuery): Promise<Blob> {
|
|
return request.post('/erp/mp/purchase/need/export', params, { responseType: 'blob' })
|
|
}
|