import type { PageParam, PageResult } from '#/packages/effects/request/src';

import { requestClient } from '#/api/request';

export namespace MesPdDrawingReviewApi {
  /** 图纸审核 */
  export interface DrawingReview {
    id?: number;
    code?: string;
    projectId?: number;
    projectCode?: string;
    projectName?: string;
    documentId?: number;
    documentName?: string;
    documentVersion?: string;
    reviewerId?: number;
    reviewerName?: string;
    status?: number;
    reviewComment?: string;
    reviewTime?: number;
    createTime?: number;
  }

  export interface PageParams extends PageParam {
    code?: string;
    projectId?: number;
    status?: number;
    reviewerId?: number;
  }

  export interface ReviewParams {
    id: number;
    status: number;
    reviewComment?: string;
  }
}

export function getPdDrawingReviewPage(
  params: MesPdDrawingReviewApi.PageParams,
) {
  return requestClient.get<PageResult<MesPdDrawingReviewApi.DrawingReview>>(
    '/mes/pd/drawing-review/page',
    { params },
  );
}

export function getPdDrawingReview(id: number) {
  return requestClient.get<MesPdDrawingReviewApi.DrawingReview>(
    `/mes/pd/drawing-review/get?id=${id}`,
  );
}

export function createPdDrawingReview(data: MesPdDrawingReviewApi.DrawingReview) {
  return requestClient.post<number>('/mes/pd/drawing-review/create', data);
}

export function reviewPdDrawing(data: MesPdDrawingReviewApi.ReviewParams) {
  return requestClient.put('/mes/pd/drawing-review/review', data);
}
