import request from '@/config/axios'
import { RepairOrderVO } from '@/api/device/repairorder'

// 设备巡检任务 VO
export interface InspectionTasksVO {
  id: number // 主键ID
  planId: number // 计划id
  taskNumber: string // 任务编号
  taskName: string // 任务名称
  planStartTime: Date // 计划开始时间
  planEndTime: Date // 计划结束时间
  actualStartTime: Date // 实际开始时间
  actualEndTime: Date // 实际完成时间
  rectifyFlag: number // 是否整改 1-是
  taskStatus: number // 任务状态 0新建 1审批中 2巡检中 3巡检结果 10完成
  inspectionPics: string // 现场图片,逗号分割
  rectifyContent: string // 整改内容
  actualId: number // 开始巡检人ID
  actualName: string // 开始巡检人姓名
  inspectorId: number // 验收责任人ID
  inspectorName: string // 验收责任人姓名
  processInstanceId: string // 流程实例的编号
}

// 设备巡检任务 API
export const InspectionTasksApi = {
  // 查询设备巡检任务分页
  getInspectionTasksPage: async (params: any) => {
    return await request.get({ url: `/device/inspection-tasks/page`, params })
  },

  // 查询设备巡检任务详情
  getInspectionTasks: async (id: number) => {
    return await request.get({ url: `/device/inspection-tasks/get?id=` + id })
  },

  // 新增设备巡检任务
  createInspectionTasks: async (data: InspectionTasksVO) => {
    return await request.post({ url: `/device/inspection-tasks/create`, data })
  },

  // 设备巡检完成
  inspectionFinish: async (data: InspectionTasksVO) => {
    return await request.post({ url: `/device/inspection-tasks/inspectionFinish`, data })
  },

  // 新增设备巡检任务行内编辑
  rowCreateInspectionItemTasks: async (data: InspectionTasksVO) => {
    return await request.post({ url: `/device/inspection-tasks/rowCreate`, data })
  },

  // 修改设备巡检任务
  updateInspectionTasks: async (data: InspectionTasksVO) => {
    return await request.put({ url: `/device/inspection-tasks/update`, data })
  },

  // 删除设备巡检任务
  deleteInspectionTasks: async (id: number) => {
    return await request.delete({ url: `/device/inspection-tasks/delete?id=` + id })
  },

  // 导出设备巡检任务 Excel
  exportInspectionTasks: async (params) => {
    return await request.download({ url: `/device/inspection-tasks/export-excel`, params })
  },

  // 提交设备保养任务审核
  submitAudit: async (id: number) => {
    return await request.put({ url: `/device/inspection-tasks/submit-audit?id=${id}` })
  },
  updateExecute: async (data: RepairOrderVO) => {
    return await request.put({ url: `/device/inspection-tasks/updateExecute`, data })
  },
  updateCheck: async (data: RepairOrderVO) => {
    return await request.put({ url: `/device/inspection-tasks/updateCheck`, data })
  },
  // 查询设备巡检任务详情
  getInspectionTasksByProcessId: async (processInstanceId: string) => {
    return await request.get({
      url: `/device/inspection-tasks/getTasksByProcessId?processInstanceId=` + processInstanceId
    })
  },

  // ==================== 子表（设备巡检任务内容） ====================

  // 获得设备巡检任务内容列表
  getInspectionTasksItemListByTaskId: async (taskId) => {
    return await request.get({
      url: `/device/inspection-tasks/inspection-tasks-item/list-by-task-id?taskId=` + taskId
    })
  },
  // 新增设备巡检任务行内编辑
  salaryMonthRecordInspectionItemTasks: async (data) => {
    return await request.post({ url: `/hr/salary-month-record/submit-audit`, data })
  }
}
