export interface ReportQuery {
  tenantId?: string;
  materialCategoryId?: number;
}

export interface ReturnReasonAnalysisVO {
  tenantId?: string;
  returnReasonCategory?: string;
  returnOrderCount?: number;
  totalReturnAmount?: number;
  orderCountRatio?: number;
  amountRatio?: number;
  materialName?: string;
  materialCategoryName?: string;
  materialCode?: string;
}

export interface InventoryTrendAnalysisVO {
  tenantId?: string;
  materialId?: number;
  materialCode?: string;
  materialName?: string;
  materialCategoryName?: string;
  statisticsMonth?: string;
  statisticsWeek?: number;
  currentInventoryQty?: number;
  weekInstockQty?: number;
  weekOutstockQty?: number;
  lastWeekInventoryQty?: number;
  keyNodeMark?: string;
}

export interface SafetyStockAlertVO {
  tenantId?: string;
  materialId?: number;
  materialCode?: string;
  materialName?: string;
  materialCategoryName?: string;
  currentInventoryQty?: number;
  safeStockAmount?: number;
  minStockAmount?: number;
  maxStockAmount?: number;
  alertStatus?: string;
  differenceAmount?: number;
  lastUpdateTime?: string;
}

export interface StagnantInventoryVO {
  tenantId?: string;
  materialId?: number;
  materialCode?: string;
  materialName?: string;
  materialCategoryName?: string;
  stagnantInventoryQty?: number;
  materialUnit?: string;
  lastOutstockTime?: string;
  stagnantDays?: number;
  stagnantReason?: string;
  materialSpec?: string;
  warehouseName?: string;
  lastActivityTime?: string;
}

export interface InventoryDifferenceVO {
  tenantId?: string;
  checkCode?: string;
  checkType?: string;
  warehouseId?: number;
  warehouseName?: string;
  materialId?: number;
  materialCode?: string;
  materialName?: string;
  materialCategoryName?: string;
  bookInventoryQty?: number;
  actualInventoryQty?: number;
  differenceQty?: number;
  differenceType?: string;
  differenceRate?: number;
  differenceLevel?: string;
  checkTime?: string;
  checkBy?: string;
}

export interface InventoryTurnoverVO {
  tenantId?: string;
  materialId?: number;
  materialCode?: string;
  materialName?: string;
  materialCategoryName?: string;
  statisticsMonth?: string;
  beginInventoryQty?: number;
  endInventoryQty?: number;
  monthOutstockQty?: number;
  inventoryTurnoverRate?: number;
  simpleTurnoverRate?: number;
  turnoverEvaluation?: string;
}