import request from '@/config/axios'

// PMS 出库 VO
export interface IotOutboundVO {
  id: number // 主键
  storageId: number // 入库id
  deptId: number // 组织部门id
  factory: string // 工厂(SAP) 专业公司
  projectDepartment: string // 库存地点 - SAP 部门 项目部级
  costCenter: string // 成本中心(SAP) 库存地点 小队
  materialCode: string // 物料编码
  materialName: string // 物料名称
  materialGroupName: string // 物料组
  materialGroupId: number // 物料组id
  quantity: number // 出库数量
  unitPrice: number // 单价
  unit: string // 单位
  bomNodeId: number // 使用方向 对应BOM节点
  type: number // 使用类型(1维修 2保养 3临时)
  deliveryTime: Date // 出库时间
  reason: string // 出库原因
  sort: number // 排序
  status: number // 状态 0启用  1停用
  remark: string // 备注
  processInstanceId: string // 流程实例id
  auditStatus: number // 审批状态 未提交、审批中、审批通过、审批不通过、已取消
}

// PMS 出库 API
export const IotOutboundApi = {
  // 查询PMS 出库分页
  getIotOutboundPage: async (params: any) => {
    return await request.get({ url: `/pms/iot-outbound/page`, params })
  },

  // 查询PMS 出库详情
  getIotOutbound: async (id: number) => {
    return await request.get({ url: `/pms/iot-outbound/get?id=` + id })
  },

  // 新增PMS 出库
  createIotOutbound: async (data: IotOutboundVO) => {
    return await request.post({ url: `/pms/iot-outbound/create`, data })
  },

  // 修改PMS 出库
  updateIotOutbound: async (data: IotOutboundVO) => {
    return await request.put({ url: `/pms/iot-outbound/update`, data })
  },

  // 删除PMS 出库
  deleteIotOutbound: async (id: number) => {
    return await request.delete({ url: `/pms/iot-outbound/delete?id=` + id })
  },

  // 导出PMS 出库 Excel
  exportIotOutbound: async (params) => {
    return await request.download({ url: `/pms/iot-outbound/export-excel`, params })
  },
}
