import request from '@/config/axios'

// 物料领用 VO
export interface IotMaterialRequisitionVO {
  id: number // 主键id
  deptId: number // 部门id
  requisitionNumber: string // 物料领用单编号
  name: string // 物料领用单名称
  type: number // 领用用途(1维修  2保养 3其它)
  responsiblePerson: string // 领用人姓名
  cost: number // 物料总费用
  result: number // 领用结果(1待执行 2已执行)
  otherCost: number // 其他费用
  laborCost: number // 人工费用
  requisitionTime: Date // 领用日期
  reason: string // 领用原因
  remark: string // 备注（如特殊要求、紧急程度）
  status: number // 状态 0=未出库 1=已出库 2=已关闭
  processInstanceId: string // 流程实例id
  auditStatus: number // 审批状态 未提交、审批中、审批通过、审批不通过、已取消
}

// 物料领用 API
export const IotMaterialRequisitionApi = {
  // 查询物料领用分页
  getIotMaterialRequisitionPage: async (params: any) => {
    return await request.get({ url: `/pms/iot-material-requisition/page`, params })
  },

  // 查询物料领用详情
  getIotMaterialRequisition: async (id: number) => {
    return await request.get({ url: `/pms/iot-material-requisition/get?id=` + id })
  },

  // 新增物料领用
  createIotMaterialRequisition: async (data: IotMaterialRequisitionVO) => {
    return await request.post({ url: `/pms/iot-material-requisition/create`, data })
  },

  // 新增物料领用单
  addMaterialRequisition: async (data: any) => {
    return await request.put({ url: `/pms/iot-material-requisition/addMaterialRequisition`, data })
  },

  // 修改物料领用
  updateIotMaterialRequisition: async (data: IotMaterialRequisitionVO) => {
    return await request.put({ url: `/pms/iot-material-requisition/update`, data })
  },

  // 删除物料领用
  deleteIotMaterialRequisition: async (id: number) => {
    return await request.delete({ url: `/pms/iot-material-requisition/delete?id=` + id })
  },

  // 导出物料领用 Excel
  exportIotMaterialRequisition: async (params) => {
    return await request.download({ url: `/pms/iot-material-requisition/export-excel`, params })
  },
}
