package org.qinan.safetyeval.client.api;

import org.qinan.safetyeval.client.co.QualFilingEquipmentCO;
import org.qinan.safetyeval.client.dto.PageResponse;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.QualFilingEquipmentAddCmd;
import org.qinan.safetyeval.client.dto.QualFilingEquipmentModifyCmd;
import org.qinan.safetyeval.client.dto.QualFilingEquipmentPageQuery;

/**
 * 备案申请装备接口定义（Client层）
 *
 * @author safety-eval
 */
public interface QualFilingEquipmentApi {

    SingleResponse<QualFilingEquipmentCO> add(QualFilingEquipmentAddCmd cmd);

    SingleResponse<QualFilingEquipmentCO> get(Long id);

    SingleResponse<QualFilingEquipmentCO> modify(QualFilingEquipmentModifyCmd cmd);

    SingleResponse<Void> delete(Long id);

    PageResponse<QualFilingEquipmentCO> page(QualFilingEquipmentPageQuery query);

    SingleResponse<Integer> batchAddFromOrg(org.qinan.safetyeval.client.dto.QualFilingEquipmentBatchAddCmd cmd);

    SingleResponse<QualFilingEquipmentCO> uploadCalibration(org.qinan.safetyeval.client.dto.QualFilingAttachmentUploadCmd cmd);
}
