| | |
| | | no?: string; // 计划单号 |
| | | name?: string; // 计划名称 |
| | | status?: number; // 状态:0未提交 10审批中 20审核通过 30审核不通过 40已取消 |
| | | processInstanceId?: string; // 工作流编号 |
| | | processInstanceId?: string; // 工作流编号(历史字段,改造后不再写入) |
| | | reviewerId?: number; // 审核人编号 |
| | | reviewerName?: string; // 审核人姓名 |
| | | reviewTime?: string; // 审核时间 |
| | | reviewRemark?: string; // 审核意见(通过时的意见 / 不通过时的原因) |
| | | demandSource?: number; // 需求来源:1库存预警 2运维/生产计划 |
| | | demandSourceName?: string; // 需求来源名称 |
| | | planDate?: string; // 计划日期 |
| | |
| | | |
| | | /** 创建采购计划 */ |
| | | export function createPurchasePlan(data: ErpPurchasePlanApi.PurchasePlan) { |
| | | return requestClient.post('/erp/purchase-plan/create', data); |
| | | return requestClient.post('/purchase/plan/create', data); |
| | | } |
| | | |
| | | /** 更新采购计划 */ |
| | | export function updatePurchasePlan(data: ErpPurchasePlanApi.PurchasePlan) { |
| | | return requestClient.put('/erp/purchase-plan/update', data); |
| | | return requestClient.put('/purchase/plan/update', data); |
| | | } |
| | | |
| | | /** 提交采购计划审批 */ |
| | | export function submitPurchasePlan(id: number, processDefinitionKey: string) { |
| | | return requestClient.put('/erp/purchase-plan/submit', null, { |
| | | params: { id, processDefinitionKey }, |
| | | /** |
| | | * 提交采购计划审核(草稿/审核不通过 → 审批中) |
| | | * |
| | | * 提交前由后端校验审批配置已启用且配置了有效审批人,无需前端传流程定义。 |
| | | */ |
| | | export function submitPurchasePlan(id: number) { |
| | | return requestClient.put('/purchase/plan/submit', null, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * 审核采购计划(审批中 → 审核通过/审核不通过) |
| | | * |
| | | * 仅审批配置中指定的审批人本人可调用;pass=false 时 reviewRemark(不通过原因)必填。 |
| | | */ |
| | | export function auditPurchasePlan( |
| | | id: number, |
| | | pass: boolean, |
| | | reviewRemark?: string, |
| | | ) { |
| | | return requestClient.put('/purchase/plan/audit', { |
| | | id, |
| | | pass, |
| | | reviewRemark, |
| | | }); |
| | | } |
| | | |
| | | /** 获取采购计划的审批人编号集合,用于判断是否展示审核按钮 */ |
| | | export function getPurchasePlanApproverUserIds() { |
| | | return requestClient.get<number[]>('/purchase/plan/approver-ids'); |
| | | } |
| | | |
| | | /** 根据库存预警生成采购计划 */ |
| | | export function generatePlanFromStockAlert(params: { name?: string; supplierId?: number }) { |
| | | return requestClient.post<number>('/erp/purchase-plan/generate-from-stock-alert', null, { |
| | | return requestClient.post<number>('/purchase/plan/generate-from-stock-alert', null, { |
| | | params, |
| | | }); |
| | | } |
| | | |
| | | /** 获取库存预警建议采购明细(不落库,供新增弹窗回填核对) */ |
| | | export function getStockAlertSuggestItems() { |
| | | return requestClient.get<ErpPurchasePlanApi.PurchasePlanItem[]>( |
| | | '/purchase/plan/get-stock-alert-suggest-items', |
| | | ); |
| | | } |
| | | |
| | | /** 生成采购申请 */ |
| | | export function generatePurchaseRequests(id: number) { |
| | | return requestClient.post<number[]>('/erp/purchase-plan/generate-requests', null, { |
| | | return requestClient.post<number[]>('/purchase/plan/generate-requests', null, { |
| | | params: { id }, |
| | | }); |
| | | } |
| | | |
| | | /** 删除采购计划 */ |
| | | export function deletePurchasePlan(ids: number[]) { |
| | | return requestClient.delete('/erp/purchase-plan/delete', { params: { ids: ids.join(',') } }); |
| | | return requestClient.delete('/purchase/plan/delete', { params: { ids: ids.join(',') } }); |
| | | } |
| | | |
| | | /** 获取采购计划详情 */ |
| | | export function getPurchasePlan(id: number) { |
| | | return requestClient.get<ErpPurchasePlanApi.PurchasePlan>( |
| | | `/erp/purchase-plan/get?id=${id}`, |
| | | `/purchase/plan/get?id=${id}`, |
| | | ); |
| | | } |
| | | |
| | | /** 获取采购计划分页 */ |
| | | export function getPurchasePlanPage(params: PageParam) { |
| | | return requestClient.get<PageResult<ErpPurchasePlanApi.PurchasePlan>>( |
| | | '/erp/purchase-plan/page', |
| | | '/purchase/plan/page', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** 导出采购计划 Excel */ |
| | | export function exportPurchasePlan(params: any) { |
| | | return requestClient.download('/erp/purchase-plan/export-excel', { params }); |
| | | } |
| | | |
| | | /** 获取审批流程列表 */ |
| | | export function getApproveProcessList(id: number) { |
| | | return requestClient.get(`/erp/purchase-plan/approve-process-list`, { params: { id } }); |
| | | return requestClient.download('/purchase/plan/export-excel', { params }); |
| | | } |