package com.style24.scm.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Brand;
import com.style24.persistence.domain.BrandMd;
import com.style24.persistence.domain.SupplyCompany;

/**
 * 영업관리 Dao
 *
 * @author gagamel
 * @since 2020. 10. 14
 */
@ShopDs
public interface TssBusinessDao {

	/**
	 * 공급업체 목록
	 * @param supplyComp - 공급업체 정보
	 * @return
	 * @author gagamel
	 * @since 2020. 10. 14
	 */
	Collection<SupplyCompany> getSupplyCompanyList(SupplyCompany supplyComp);

	/**
	 * 공급업체 생성
	 * @param supplyComp - 공급업체 정보
	 * @author gagamel
	 * @since 2020. 10. 14
	 */
	void createSupplyCompany(SupplyCompany supplyComp);

	/**
	 * 공급업체 수정
	 * @param supplyComp - 공급업체 정보
	 * @author gagamel
	 * @since 2020. 10. 14
	 */
	void updateSupplyCompany(SupplyCompany supplyComp);

//	/**
//	 * 출고처관리 목록
//	 * @param delvLoc - 출고처 정보
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 10. 16
//	 */
//	Collection<DeliveryLoc> getDeliveryLocList(DeliveryLoc delvLoc);

	/**
	 * 브랜드 목록
	 * @param brand - 브랜드 정보
	 * @return
	 * @author eskim
	 * @since 2020. 10. 22
	 */
	Collection<Brand> getBrandList(Brand brand);

	/**
	 * 담당MD 목록
	 * @param brandMd - 담당MD 정보
	 * @return
	 * @author gagamel
	 * @since 2020. 11. 4
	 */
	Collection<BrandMd> getMdList(BrandMd brandMd);

	/**
	 * 브랜드담당MD 목록
	 * @param brandCd - 브랜드코드
	 * @return
	 * @author gagamel
	 * @since 2020. 11. 4
	 */
	Collection<BrandMd> getBrandMdList(String brandCd);

//	/**
//	 * 브랜드담당MD 삭제
//	 * @param brandCd - 브랜드코드
//	 * @author gagamel
//	 * @since 2020. 11. 4
//	 */
//	void deleteBrandMd(String brandCd);
//
//	/**
//	 * 브랜드담당MD 등록
//	 * @param brandMd - 브랜드담당MD 정보
//	 * @author gagamel
//	 * @since 2020. 11. 4
//	 */
//	void createBrandMd(BrandMd brandMd);
//
//	/**
//	 * 브랜드 노출사이트 목록
//	 * @param brandCd - 브랜드코드
//	 * @author gagamel
//	 * @since 2020. 11. 4
//	 */
//	Collection<SiteBrand> getBrandSiteList(String brandCd);
//
//	/**
//	 * 브랜드 노출사이트 등록/수정
//	 * @param siteBrand - 사이트브랜드 정보
//	 * @author gagamel
//	 * @since 2020. 11. 4
//	 */
//	void saveBrandSite(SiteBrand siteBrand);

	/**
	 * 브랜드 등록
	 * @param brand - 브랜드 정보
	 * @author gagamel
	 * @since 2020. 11. 5
	 */
	void createBrand(Brand brand);

	/**
	 * 브랜드 수정
	 * @param brand - 브랜드 정보
	 * @author gagamel
	 * @since 2020. 11. 5
	 */
	void updateBrand(Brand brand);

//	/**
//	 * 출고처관리 저장
//	 * @param delvLoc - 출고처 정보
//	 * @author gagamel
//	 * @since 2020. 10. 16
//	 */
//	void saveDeliveryLoc(DeliveryLoc delvLoc);
//
//	/**
//	 * 재고연계관리 - 출고처 목록
//	 * @param delvLoc - 출고처 정보
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 11. 7
//	 */
//	Collection<DeliveryLoc> getStockSyncDeliveryLocList(DeliveryLoc delvLoc);
//
//	/**
//	 * 재고연계관리 - 재고연계기준 목록
//	 * @param stockSyncBase - 재고연계기준 정보
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 11. 7
//	 */
//	Collection<StockSyncBase> getStockSyncBaseList(StockSyncBase stockSyncBase);
//
//	/**
//	 * 재고연계관리 - 재고연계기준 저장
//	 * @param stockSyncBase - 재고연계기준 정보
//	 * @author gagamel
//	 * @since 2020. 11. 7
//	 */
//	void saveStockSyncBase(StockSyncBase stockSyncBase);
//
//	/**
//	 * 판매매장 목록
//	 * @param sellStore - 판매매장 정보
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	Collection<SellStore> getSellStoreList(SellStore sellStore);
//
//	/**
//	 * 판매매장 정보 수정
//	 * @param sellStore - 판매매장 정보
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	void saveSellStore(SellStore sellStore);
//
//	/**
//	 * 제휴링크 목록
//	 * @param aflink - 제휴링크 정보
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	Collection<Aflink> getAflinkList(Aflink aflink);
//
//	/**
//	 * 제휴링크 저장
//	 * @param aflink - 제휴링크 정보
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	void saveAflink(Aflink aflink);
//
//	/**
//	 * 제휴링크 삭제
//	 * @param aflink - 제휴링크 정보
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	void deleteAflink(Aflink aflink);
//
//	/**
//	 * 배송업체 목록
//	 * @return
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	Collection<ShipCompany> getShipCompanyList();
//
//	/**
//	 * 배송업체 저장
//	 * @param shipComp - 배송업체 정보
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	void saveShipCompany(ShipCompany shipComp);
//
//	/**
//	 * 배송업체 삭제
//	 * @param shipComp - 배송업체 정보
//	 * @author gagamel
//	 * @since 2020. 10. 20
//	 */
//	void deleteShipCompany(ShipCompany shipComp);

}
