| | |
| | | palletCount?: number; // 托盘数(48袋/100袋 品种必填) |
| | | bagCount?: number; // 袋码数(吨品种必填) |
| | | remark?: string; // 备注 |
| | | requestId?: string; // 幂等键:网络重试复用同一个值 |
| | | } |
| | | |
| | | export interface GenerateResult { |
| | |
| | | type?: string; // 品种主计量单位类型(48袋/100袋/吨) |
| | | perPallet?: number; // 每托袋数(吨品种为 0) |
| | | totalCount?: number; // 生成袋码总数 |
| | | palletIds?: number[]; // 自动生成的托盘编号列表(吨品种为空) |
| | | palletCount?: number; // 托盘总数(原始数据为 0) |
| | | palletIds?: number[]; // 自动生成的托盘编号列表(仅同步完成返回,吨品种为空) |
| | | async?: boolean; // true=已转后台任务 |
| | | taskId?: number; // 后台任务编号(异步模式返回) |
| | | } |
| | | |
| | | /** 生成原始袋码请求(仅品种+袋码数量,不关联计量单位类型、不生成托盘) */ |
| | |
| | | itemId: number; // 品种(物料)编号 |
| | | count: number; // 袋码数量 |
| | | remark?: string; // 备注 |
| | | requestId?: string; // 幂等键:网络重试复用同一个值 |
| | | } |
| | | |
| | | /** 袋码生成任务(大批量生成转后台后的进度) */ |
| | | export interface GenerateTask { |
| | | id: number; // 任务编号 |
| | | bizType?: string; // PACKAGE(数据包)/ RAW(原始数据) |
| | | status?: number; // 10 排队中 / 20 生成中 / 25 取消中 / 30 已完成 / 40 已取消 / 50 已失败 |
| | | statusName?: string; // 状态名称 |
| | | progress?: number; // 进度百分比 0~100 |
| | | uuid?: string; // 生成组 UUID |
| | | itemId?: number; // 品种编号 |
| | | itemCode?: string; // 品种编码 |
| | | itemName?: string; // 品种名称 |
| | | unitType?: string; // 计量单位类型 |
| | | perPallet?: number; // 每托袋数 |
| | | palletCount?: number; // 托盘数 |
| | | totalCount?: number; // 袋码总数 |
| | | finishedCount?: number; // 已生成袋码数 |
| | | errorMsg?: string; // 失败原因 |
| | | createTime?: string; // 创建时间 |
| | | finishTime?: string; // 完成/终止时间 |
| | | } |
| | | |
| | | export interface BindBatchParams { |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 查询袋码生成任务(大批量生成的进度轮询) */ |
| | | export function getBagCodeGenerateTask(id: number) { |
| | | return requestClient.get<MesProBagCodeApi.GenerateTask>( |
| | | '/mes/pro/bag-code/generate-task/get', |
| | | { params: { id } }, |
| | | ); |
| | | } |
| | | |
| | | /** 取消袋码生成任务(停止生成并清理半成品) */ |
| | | export function cancelBagCodeGenerateTask(id: number) { |
| | | return requestClient.post<boolean>( |
| | | `/mes/pro/bag-code/generate-task/cancel?id=${id}`, |
| | | ); |
| | | } |
| | | |
| | | /** 录入生产批次 */ |
| | | export function bindBagCodeBatch(data: MesProBagCodeApi.BindBatchParams) { |
| | | return requestClient.put('/mes/pro/bag-code/bind-batch', data); |