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

export namespace MdmItemModelApi {
  /** 物料型号（型号名称 + 型号计量单位 + 换算比率） */
  export interface ItemModel {
    id?: number; // 型号编号
    itemId?: number; // 物料编号
    itemCode?: string; // 物料编码
    itemName?: string; // 物料名称
    model?: string; // 型号名称
    unitMeasureId?: number; // 型号计量单位编号（辅单位）
    unitMeasureName?: string; // 型号计量单位名称
    unitMeasureRate?: number; // 换算比率：1 型号计量单位 = N 物料主计量单位
    status?: number; // 状态（0正常 1停用）
    remark?: string; // 备注
    createTime?: string; // 创建时间
  }
}

/** 查询某物料的型号列表 */
export function getItemModelListByItem(itemId: number) {
  return requestClient.get<MdmItemModelApi.ItemModel[]>(
    '/mdm/item-model/list-by-item',
    { params: { itemId } },
  );
}

/** 批量查询多个物料的型号列表 */
export function getItemModelListByItems(itemIds: number[]) {
  return requestClient.get<MdmItemModelApi.ItemModel[]>(
    '/mdm/item-model/list-by-items',
    { params: { itemIds: itemIds.join(',') } },
  );
}

/** 全量覆盖保存某物料的型号列表（先删后插） */
export function saveItemModelList(
  itemId: number,
  list: MdmItemModelApi.ItemModel[],
) {
  return requestClient.post<boolean>(
    '/mdm/item-model/save-list',
    list,
    { params: { itemId } },
  );
}
