import request from '@/utils/request'

/**
 * 分页查询执法任务
 */
export function getJobs(params) {
    return request.get('/v2/api/enforce-job', { params })
}

/**
 * 创建执法任务
 */
export function saveJob(params) {
    return request.post('/v2/api/enforce-job', params)
}

/**
 * 查询单个执法任务信息
 */
export function getOneJob(id) {
    return request.get(`/v2/api/enforce-job/${id}`)
}

/**
 * 查询单个执法任务审批信息
 */
export function getApproveDetail(id) {
    return request.get(`/v2/api/enforce-job/${id}/approve-detail`)
}

/**
 * 编辑执法基本信息（只修改基本信息，不修改关联的执法单位，用于审核、分配等场景）
 */
export function updateJobBasic(id, params) {
    return request.put('/v2/api/enforce-job/' + id, params)
}

/**
 * 任务审批，驳回时必填，仅用于其他任务、乡镇检查
 */
export function approvelJob(id, params) {
    return request.put('/v2/api/enforce-job/' + id + '/approve-detail',  params)
}

/**
 * 其他限改审批
 */
export function approvelLimit(id, params) {
    ///enforce-job/{id}/approve-detail:
    return request.put('/v2/api/enforce-job/' + id + '/approve-detail',  params)
}

/**
 * 任务审批，驳回时必填，仅用于其他任务、乡镇检查
 */
 export function approveOther(id, params) {
    return request.put(`/v2/api/enforce-job/${id}/approve`, params)
}

/**
 * 限改审批
 */
export function approveLimit(id, params) {
    return request.put(`/v2/api/enforce-job/${id}/deadline-approve`, params)
}

/**
 * 分页查询待审批
 */
export function approvelJobList( params) {
    return request.get('/v2/api/enforce-job/approve', { params})
}


/**
 * 举报投诉任务审批
 */
export function reportApprovelJob(id, params) {
    return request.put('/v2/api/enforce-job/' + id + '/report-approve',  params)
}

/**
 * 删除执法信息
 */
export function removeOneJob(id) {
    return request.delete(`/v2/api/enforce-job/${id}`)
}

/**
 * 编辑执法详细信息（包括关联的执法单位，节点信息，item信息等）
 */
export function updateJobDetailInfo(id, params) {
    return request.put(`/v2/api/enforce-job/${id}/detail`, params)
}

/**
 * 查询执法任务统计信息
 */
export function getOneJobStatistics(id) {
    return request.get(`/v2/api/enforce-job/${id}/statistics`)
}

/**
 * 分页查询预约的短信
 */
export function getJobMessages(id, params) {
    return request.get(`/v2/api/enforce-job/${id}/enforce-message`, {params})
}

/**
 * 添加预约短信
 */
export function addMessage(id, params) {
    return request.post(`/v2/api/enforce-job/${id}/enforce-message`, params)
}

/**
 * 添加检查节点
 */
export function addCheckNode(id, params) {
    return request.post(`/v2/api/enforce-job/${id}/item`, params)
}

/**
 * 添加检查情况
 */
export function addCheckInfo(itemId, params) {
    return request.post(`/v2/api/enforce-job/item/${itemId}/record`, params)
}

/**
 * 删除检查情况
 */
export function removeCheckInfo(itemId, id) {
    return request.delete(`/v2/api/enforce-job/item/${itemId}/record/${id}`)
}

export function getRecent(id, start, end) {
    let query = [];
    query.push('job_status==ARCHIVED');
    if (id) {
        query.push(`enforce_obj_id==${id}`);
    }
    if (start) {
        query.push('create_time>' + start);
    }
    if (end) {
        query.push('create_time<=' + end);
    }
    const params = {
        page: 1,
        size: 10,
        sort: 'create_time desc',
        query: query.join(';'),
    };
    return request.get('/v2/api/enforce-job/recent', { params })
}

/**
 * 查询执法任务视频信息
 */
export function getJobVideos(id) {
    return request.get(`/v2/api/enforce-job/${id}/videos?protocol=rtsp`)
}
