| | |
| | | import type { PageParam, PageResult } from '../../../../packages/effects/request/src'; |
| | | import type { PageParam, PageResult } from '@vben/request'; |
| | | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | |
| | | id?: number; |
| | | code?: string; // 任务编码 |
| | | name?: string; // 任务名称 |
| | | workOrderId?: number; // 生产工单编号 |
| | | workOrderCode?: string; // 工单编码 |
| | | workOrderName?: string; // 工单名称 |
| | | workOrderId?: number; // 生产订单编号 |
| | | workOrderCode?: string; // 订单编码 |
| | | workOrderName?: string; // 订单名称 |
| | | workstationId?: number; // 工作站编号 |
| | | workstationCode?: string; // 工作站编码 |
| | | workstationName?: string; // 工作站名称 |
| | |
| | | startTime?: number; // 开始生产时间 |
| | | endTime?: number; // 结束生产时间 |
| | | duration?: number; // 生产时长(工作日,1=8小时) |
| | | requestDate?: number; // 需求日期(从工单查) |
| | | requestDate?: number; // 需求日期(从订单查) |
| | | finishDate?: number; // 完成日期 |
| | | cancelDate?: number; // 取消日期 |
| | | colorCode?: string; // 甘特图显示颜色 |
| | |
| | | itemId?: number; |
| | | statuses?: number[]; |
| | | status?: number; |
| | | } |
| | | |
| | | /** 待报工台账任务(pending-feedback-page 响应) */ |
| | | export interface PendingFeedbackTask extends Task { |
| | | pendingQuantity?: number; // 待报工数量(= 排产 - 已生产) |
| | | inTransitQuantity?: number; // 在途报工数量(草稿/审批中/待检验合计) |
| | | reportableQuantity?: number; // 可报工数量(= 排产 - 已生产 - 在途) |
| | | feedbackRate?: number; // 报工完成率(%) |
| | | } |
| | | |
| | | /** 待报工台账分页查询参数 */ |
| | | export interface PendingFeedbackPageParams extends PageParam { |
| | | processId?: number; |
| | | routeId?: number; |
| | | workOrderId?: number; |
| | | workstationId?: number; |
| | | code?: string; |
| | | name?: string; |
| | | checkFlag?: boolean; |
| | | createTime?: string[]; |
| | | } |
| | | } |
| | | |
| | |
| | | export function getGanttTaskList(params: any) { |
| | | return requestClient.get<any[]>('/mes/pro/task/gantt-list', { params }); |
| | | } |
| | | |
| | | /** 一键排产预览请求 */ |
| | | export interface AutoGenerateReq { |
| | | workOrderId: number; |
| | | routeId?: number; |
| | | autoAssignWorkstation?: boolean; |
| | | autoCalculateTime?: boolean; |
| | | } |
| | | |
| | | /** 一键排产预览响应 */ |
| | | export interface AutoGeneratePreview { |
| | | workOrderId?: number; |
| | | routeId?: number; |
| | | routeName?: string; |
| | | taskList?: TaskPreview[]; |
| | | } |
| | | |
| | | export interface TaskPreview { |
| | | processId?: number; |
| | | processName?: string; |
| | | sort?: number; |
| | | suggestWorkstationId?: number; |
| | | suggestWorkstationName?: string; |
| | | quantity?: number; |
| | | keyFlag?: boolean; |
| | | } |
| | | |
| | | /** 一键排产预览 */ |
| | | export function previewAutoGenerate(data: AutoGenerateReq) { |
| | | return requestClient.post<AutoGeneratePreview>( |
| | | '/mes/pro/task/auto-generate/preview', |
| | | data, |
| | | ); |
| | | } |
| | | |
| | | /** 一键排产执行 */ |
| | | export function autoGenerateTasks(data: AutoGenerateReq) { |
| | | return requestClient.post<{ taskIds: number[] }>( |
| | | '/mes/pro/task/auto-generate', |
| | | data, |
| | | ); |
| | | } |
| | | |
| | | /** 查询待报工台账(分页) */ |
| | | export function getPendingFeedbackPage( |
| | | params: MesProTaskApi.PendingFeedbackPageParams, |
| | | ) { |
| | | return requestClient.get<PageResult<MesProTaskApi.PendingFeedbackTask>>( |
| | | '/mes/pro/task/pending-feedback-page', |
| | | { params }, |
| | | ); |
| | | } |