package com.casic.missiles.service.equipment;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.dto.BaseApprovalSubmitRequest;
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest;
import com.casic.missiles.model.equipment.EquipmentStandardApply;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 *   测量设备-标准装置申请服务类
 * </p>
 * @author xiezhuangz
 * @version 1.0
 * @date 2022/12/19
 */
public interface IEquipmentStandardApplyService extends IService<EquipmentStandardApply> {

    Page<EquipmentStandardApply> standardEquipmentApplyList(Page<EquipmentStandardApply> page, StandardEquipmentApplyRequest request) throws Exception;

    Object standardEquipmentApplyInfo(IdDTO idDTO) throws Exception;

    ReturnDTO addStandardEquipmentApply(EquipmentStandardApply meterStandardApply);

    ReturnDTO updateStandardEquipmentApply(EquipmentStandardApply meterStandardApply);

    void exportList(StandardEquipmentApplyRequest request, HttpServletResponse response) throws Exception;

    ReturnDTO submitStandardEquipmentApply(BaseApprovalSubmitRequest request);

    ReturnDTO approvalDelete(ApprovalDeleteRequest request);

    ReturnDTO failUpdate(EquipmentStandardApply meterStandardApply);
}
