import request from '@/config/axios'

// PMS 本地 库存 VO
export interface IotLockStockVO {
  id: number // 主键
  deptId: number // 组织部门id
  factoryId: number // 工厂id
  factory: string // 工厂(SAP) 专业公司
  storageLocationId: number // 库存地点id
  projectDepartment: string // 库存地点 - SAP 部门 项目部级
  costCenterId: number // 成本中心id
  costCenter: string // 成本中心(SAP) 库存地点 小队
  pickingListNumber: string // 领料单号
  materialCode: string // 物料编码
  materialName: string // 物料名称
  materialGroupName: string // 物料组
  materialGroupId: number // 物料组id
  quantity: number // 数量
  requisitionQuantity: number // 领用数量
  unitPrice: number // 单价
  unit: string // 单位
  storageTime: Date // 入库时间
  storageAreaId: number // 库区id
  shelvesId: number // 货架id
  cargoLocationId: number // 货位id
  sort: number // 排序
  status: number // 状态 0启用  1停用
  processInstanceId: string // 流程实例id
  auditStatus: number // 审批状态 未提交、审批中、审批通过、审批不通过、已取消
  remark: string // 备注
}

// PMS 本地 库存 API
export const IotLockStockApi = {
  // 查询PMS 本地 库存分页
  getIotLockStockPage: async (params: any) => {
    return await request.get({ url: `/pms/iot-lock-stock/page`, params })
  },

  // 查询PMS 本地 库存详情
  getIotLockStock: async (id: number) => {
    return await request.get({ url: `/pms/iot-lock-stock/get?id=` + id })
  },

  // 新增PMS 本地 库存
  createIotLockStock: async (data: IotLockStockVO) => {
    return await request.post({ url: `/pms/iot-lock-stock/create`, data })
  },

  // 手动新增入库
  manualWarehouse: async (data: IotLockStockVO[]) => {
    return await request.post({ url: `/pms/iot-lock-stock/manualWarehouse`, data })
  },

  // 修改PMS 本地 库存
  updateIotLockStock: async (data: IotLockStockVO) => {
    return await request.put({ url: `/pms/iot-lock-stock/update`, data })
  },

  // 删除PMS 本地 库存
  deleteIotLockStock: async (id: number) => {
    return await request.delete({ url: `/pms/iot-lock-stock/delete?id=` + id })
  },

  // 导出PMS 本地 库存 Excel
  exportIotLockStock: async (params) => {
    return await request.download({ url: `/pms/iot-lock-stock/export-excel`, params })
  }
}
