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

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

export namespace MdmItemBatchConfigApi {
  /** 物料批次配置（仅保留7个字段） */
  export interface ItemBatchConfig {
    id?: number; // 配置ID
    itemId: number; // 物料ID
    produceDateFlag?: boolean; // 生产日期必填
    expireDateFlag?: boolean; // 有效期必填
    receiptDateFlag?: boolean; // 入库日期必填
    vendorFlag?: boolean; // 供应商必填
    purchaseOrderCodeFlag?: boolean; // 采购订单号必填
    lotNumberFlag?: boolean; // 生产批号必填
    qualityStatusFlag?: boolean; // 质量状态必填
  }
}

/** 根据物料ID获取批次配置 */
export function getItemBatchConfigByItemId(itemId: number) {
  return requestClient.get<MdmItemBatchConfigApi.ItemBatchConfig | null>(
    '/mes/md/item-batch-config/get-by-item-id',
    { params: { itemId } },
  );
}

/** 保存批次配置（新增/更新） */
export function saveItemBatchConfig(data: MdmItemBatchConfigApi.ItemBatchConfig) {
  return requestClient.post<number>('/mes/md/item-batch-config/save', data);
}

/** 删除批次配置 */
export function deleteItemBatchConfig(id: number) {
  return requestClient.delete(`/mes/md/item-batch-config/delete?id=${id}`);
}
