package com.interplug.qcast.biz.estimate;

import com.interplug.qcast.biz.estimate.dto.*;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface EstimateMapper {
  // 견적서 상세 확인
  public EstimateResponse selectEstimateDetail(EstimateRequest estimateRequest);

  // 견적서 PDF 상세 확인
  public EstimateResponse selectEstimatePdfDetail(EstimateRequest estimateRequest);

  // 견적서 API 상세 확인
  public EstimateSendResponse selectEstimateApiDetail(EstimateRequest estimateRequest);

  // 견적서 아이템 목록 조회
  public List<ItemResponse> selectEstimateItemList(EstimateRequest estimateRequest);

  // 아이템 마스터 목록 조회
  public List<ItemResponse> selectItemMasterList(EstimateRequest estimateRequest);

  // 아이템 마스터 목록 조회
  public List<NoteResponse> selectEstimateNoteList(NoteRequest noteRequest);

  // 아이템 마스터 목록 조회
  public List<NoteResponse> selectEstimateNoteItemList(NoteRequest noteRequest);

  // 물건정보 수정
  public int updateObject(EstimateRequest estimateRequest);

  // 견적서 정보 수정
  public int updateEstimate(EstimateRequest estimateRequest);

  // 견적서 API 정보 수정
  public int updateEstimateApi(EstimateRequest estimateRequest);

  // 견적서 지붕재 등록
  public int insertEstimateRoof(RoofRequest roofRequest);

  // 견적서 지붕재 아이템 등록
  public int insertEstimateRoofItem(ItemRequest itemRequest);

  // 견적서 아이템 등록
  public int insertEstimateItem(ItemRequest itemRequest);

  // 견적서 지붕재 목록 삭제(물리 삭제)
  public int deleteEstimateRoofList(EstimateRequest estimateRequest);

  // 견적서 지붕재 아이템 목록 삭제(물리 삭제)
  public int deleteEstimateRoofItemList(EstimateRequest estimateRequest);

  // 견적서 아이템 목록 삭제(물리 삭제)
  public int deleteEstimateItemList(EstimateRequest estimateRequest);

  // 견적서 복사
  public int insertEstimateCopy(EstimateRequest estimateRequest);
}
