import { CompanyVO } from '@/api/materials/company/types';

export interface MaterialsVO {
  /**
   * 主键id
   */
  id: string | number;

  /**
   * 材料名称
   */
  materialsName: string;

  /**
   * 公司id
   */
  companyId: string | number;

  /**
   * 公司信息
   */
  companyVo: CompanyVO;

  /**
   * 项目id
   */
  projectId: string | number;

  /**
   * 规格型号名称
   */
  typeSpecificationName: string;

  /**
   * 文件详情列表
   */
  fileOssMap: Record<string, string>;

  /**
   * 使用部位
   */
  usePart: string;

  /**
   * 计量单位
   */
  weightId: string | number;

  /**
   * 备注
   */
  remark: string;

  /**
   * 预计材料数量
   */
  quantityCount: string;

  /**
   * 状态（0正常 1停用）
   */
  status: string;

  /**
   * 创建时间
   */
  createTime: string;
}

export interface MaterialsForm extends BaseEntity {
  /**
   * 主键id
   */
  id?: string | number;

  /**
   * 材料名称
   */
  materialsName?: string;

  /**
   * 公司id
   */
  companyId?: string | number;

  /**
   * 项目id
   */
  projectId?: string | number;

  /**
   * 规格型号名称
   */
  typeSpecificationName?: string;

  /**
   * 文件对象存储id列表
   */
  fileOssIdMap?: Record<string, string | number>;

  /**
   * 使用部位
   */
  usePart?: string;

  /**
   * 计量单位
   */
  weightId?: string | number;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 预计材料数量
   */
  quantityCount?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: string;
}

export interface MaterialsQuery extends PageQuery {
  /**
   * 材料名称
   */
  materialsName?: string;

  /**
   * 公司id
   */
  companyId?: string | number;

  /**
   * 项目id
   */
  projectId?: string | number;

  /**
   * 规格型号名称
   */
  typeSpecificationName?: string;

  /**
   * 文件对象存储id列表
   */
  fileOssIdMap?: Map<string, string | number>;

  /**
   * 使用部位
   */
  usePart?: string;

  /**
   * 计量单位
   */
  weightId?: string | number;

  /**
   * 预计材料数量
   */
  quantityCount?: string;

  /**
   * 状态（0正常 1停用）
   */
  status?: string;

  /**
   * 日期范围参数
   */
  params?: any;
}
