package sgc.portal.cs.cs0201.persistence;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import sgc.portal.base.util.EasyHashMap;
import sgc.portal.cs.cs0201.dto.CS02010001USearch;
import sgc.portal.cs.cs0201.model.CS02010001U;
import sgc.portal.cs.cs0201.model.CS02010003U;
import sgc.portal.cs.cs0201.model.CS02010004U;
import sgc.portal.cs.cs0201.model.CS02010005U;
import sgc.portal.cs.cs0201.model.CS02010006U;
import sgc.portal.cs.cs0201.model.CS02010007U;

import java.util.List;
import java.util.Map;

@Mapper
public interface CS02010001UMapper {
	
	//현장협력업체정보 팝업 조회
	List<EasyHashMap<String, Object>> selectTcsSitePopList(CS02010001USearch search);
	
	//현장협력업체정보  조회
	List<EasyHashMap<String, Object>> selectSmComCovendSiteTradeList(CS02010001USearch search);
	
	//협력 업체 담당자  조회
	EasyHashMap<String, Object> selectSmComCovendMapList(CS02010001USearch search);
	List<EasyHashMap<String, Object>> selectTcsSiteTradeChrgrList(CS02010001USearch search);
	
	List<EasyHashMap<String, Object>> selectConvendTcsSiteTradeList(CS02010001USearch search);
	List<EasyHashMap<String, Object>> selectConvendTcsSiteTradeItemList(CS02010001USearch search);
	List<EasyHashMap<String, Object>> selectConvendTcsSiteTradeGuarList(CS02010001USearch search);
	
	void updateIfTcsSiteTrade(CS02010004U cS02010004U);
	void updateSmComCovend(CS02010004U cS02010004U);

	void insertSmComCovendChrgr(CS02010003U cS02010003U);
	int selectSmComCovendAS1(CS02010001USearch search);
	int selectSmComCovendAS2(CS02010001USearch search);
	int selectSmComCovendAS3(CS02010001USearch search);
	
	void insertTcsSiteTrade(CS02010004U cS02010004U);
	void updateTcsSiteTrade(CS02010004U cS02010004U);
	void deleteTcsSiteTrade(CS02010004U cS02010004U);
	
	void insertTcsSiteTradeItem(CS02010005U cS02010005U);
	void updateTcsSiteTradeItem(CS02010005U cS02010005U);
	void deleteTcsSiteTradeItem(CS02010005U cS02010005U);
	
	void insertTcsSiteTradeGuar(CS02010006U cS02010006U);
	void updateTcsSiteTradeGuar(CS02010006U cS02010006U);
	void deleteTcsSiteTradeGuar(CS02010006U cS02010006U);
	
	void insertTcsSiteTradeChrgr(CS02010007U cS02010007U);
	void updateTcsSiteTradeChrgr(CS02010007U cS02010007U);
	void deleteTcsSiteTradeChrgr(CS02010007U cS02010007U);
	
	void deleteTcsSiteTrade2(CS02010004U cS02010004U);
	void deleteTcsSiteTradeItem2(CS02010004U cS02010004U);
	void deleteTcsSiteTradeGuar2(CS02010004U cS02010004U);
	void deleteTcsSiteTradeChrgr2(CS02010004U cS02010004U);
	
	int selectTcsSiteTradeCheckCount(CS02010004U cS02010004U);
	
	String selectTcsSiteSeqCount(CS02010004U cS02010004U);
	
	//협력 업체  조회
	List<EasyHashMap<String, Object>> selectSmComCovendPopList(CS02010001USearch search);
	
	//신규
	int selectTcsSiteTradeNewCheckCount(CS02010001USearch search);
	EasyHashMap<String, Object> selectSmComCovendMapNewList(CS02010001USearch search);
	List<EasyHashMap<String, Object>> selectSmComCovendChrgrNewList(CS02010001USearch search);

	//첨부파일
	int convendTcsSiteTradefileCheckCount(CS02010006U cS02010006U);
	void updateTcsSiteTradefileCheckCount(CS02010006U cS02010006U);
	
	void updateSmComCovendChrgr(CS02010003U cS02010003U);
	int selectContSeqCount(CS02010004U cS02010004U);
}
