import { stringify } from 'qs';
import { request } from 'umi';

/**
 * 请求列表 入库、出库、报废、盘点记录
 * @param {*} data
 * @param {*} data.project_id
 * @param {*} data.start_time
 * @param {*} data.end_time
 * @param {*} data.category_id   //0 全部
 * @param {*} data.name
 * @param {*} data.check_result // 0 全部  1正常 2 盘盈 3 盘亏
 * @param {*} data.type     //0 入库 1 出库 2报废 3 盘点
 * @param {*} data.page_size
 * @param {*} data.page
 * @returns
 */
export async function queryStoreList(data) {
  var res = await request(`/api/store/v1/store/list`, {
    method: 'POST',
    data: data,
  });
  return { data: res?.data?.data || [], total: res?.data?.count || 0 };
}

/**
 * 请求列表 基础库存、库存报警、库存盘点
 * @param {*} data
 * @param {*} data.project_id
 * @param {*} data.category_id   //0 全部
 * @param {*} data.name
 * @param {*} data.warning_state //0 全部 1正常 2报警
 * @param {*} data.page_size
 * @param {*} data.page
 * @returns
 */
export async function queryInventoryList(data) {
  var res = await request(`/api/store/v1/inventory/list`, {
    method: 'POST',
    data: data,
  });
  return { data: res?.data?.list || [], total: res?.data?.count || 0 };
}

/**
 * 仓储类型
 */
export async function queryCategoryList(data) {
  data.type = 0;
  var res = await request(`/api/store/v1/category/list`, {
    method: 'POST',
    data: data,
  });
  return res?.data?.list || [];
}

/**
 *创建记录
 * @param {*} data
 * @param {*} data.project_id
 * @param {*} data.category_id //仓储类型
 * @param {*} data.name
 * @param {*} data.model_number   //0 全部
 * @param {*} data.unit
 * @param {*} data.amount //数量
 * @param {*} data.check_amount    //盘点数量
 * @param {*} data.recipient_user_name   //领用人
 * @param {*} data.desc
 * @param {*} data.check_result
 * @param {*} data.types   //0 入库 1 出库 2报废 3 盘点
 * @returns
 */
export async function queryStoreCreateItem(data) {
  var res = await request(`/api/store/v1/create/item`, {
    method: 'POST',
    data: data,
  });
  return res?.data || [];
}
/**
 *  修改记录
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.id
 */
export async function queryUpdateItem(data) {
  var res = await request(`/api/store/v1/update/item`, {
    method: 'POST',
    data: data,
  });
  return res?.data || [];
}
/**
 *  删除记录
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.id
 */
export async function queryStorageDel(data) {
  var res = await request(`/api/store/v1/storage/del`, {
    method: 'POST',
    data: data,
  });
  return res?.data || [];
}
/**
 *  设置阈值
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.id
 *  @param {*} data.amount
 */
export async function querySetThreshold(data) {
  var res = await request(`/api/store/v1/set/threshold`, {
    method: 'POST',
    data: data,
  });
  return res?.data || [];
}

/**
 *  入库、出库、报废图表接口
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.year
 *  @param {*} data.month  // 0本年度全部  1-12对应月
 *  @param {*} data.types   //0 入库 1 出库 2报废 3 盘点
 */
export async function queryChartList(data) {
  var res = await request(`/api/store/v1/chart/list`, {
    method: 'POST',
    data: data,
  });
  return res?.data || [];
}

/**
 *  库存折线图
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.year
 *  @param {*} data.month  // 0本年度全部  1-12对应月
 */
export async function queryInventoryChartList(data) {
  var res = await request(`/api/store/v1/inventory-chart/list`, {
    method: 'POST',
    data: data,
  });
  return res?.data || [];
}

/**
 *  总览接口
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.year
 *  @param {*} data.month  // 0本年度全部  1-12对应月
 */
export async function queryMainChartList(data) {
  return await request(`/api/store/v1/main-chart/list`, {
    method: 'POST',
    data: data,
  });
}

/**
 *  名称筛选
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.category_id
 *  @param  data.name
 *  @param  data.model_number
 */
export async function queryStorageSelList(data) {
  var res = await request(`/api/store/v1/storage-sel/list`, {
    method: 'POST',
    data: data,
  });
  return res?.data?.list || [];
}

/**
 *  出入库报废 导入excel
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param {*} data.types
 *  @param {*} data.file
 *  @param {*} data.user_name
 */
export async function queryStoreImport(data) {
  var res = await request(`/api/store/v1/store/import`, {
    method: 'POST',
    data: data,
  });
  return res;
}

/**
 *  出入库报废 导出excel
 *  @param {*} data
 *  @param {*} data.project_id
 *  @param  data.start_time
 *  @param  data.end_time
 *  @param {*} data.category_id
 *  @param {*} data.name
 *  @param {*} data.type
 *  @param {*} data.warning_state
 */
export async function queryStoreExport(data) {
  return request(`/api/store/v1/store/export?${stringify(data)}`);
  return res;
}
