package com.style24.admin.biz.dao;

import java.util.Collection;

import com.style24.core.support.annotation.ShopDs;
import com.style24.persistence.domain.Delivery;


/**
 * 배송관리 Dao
 *
 * @author moon
 * @since 2020. 11. 05
 */
@ShopDs
public interface TsaDeliveryDao {

	/**
	 * 배송 목록
	 *
	 * @param delivery - 배송정보
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2020. 11. 05
	 */
	Collection<Delivery> getDeliveryList(Delivery delivery);

	/**
	 * 주문 상세
	 *
	 * @param ordDtlNo - 주문상세번호
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2020. 11. 05
	 */
	Collection<Delivery> getOrderDetail(long ordDtlNo);	
	
	/**
	 * 주문상세 상태 값 변경
	 *
	 * @param delivery 
	 * @return int
	 * @author moon
	 * @since 2020. 11. 05
	 */
	int updateOrderDetailStat(Delivery delivery);
	
	/**
	 * 주문 상세 이력 등록
	 *
	 * @param delivery
	 * @return void
	 * @author moon
	 * @since 2020. 11. 05
	 */
	void createOrderDetailHst(Delivery delivery);	
	
	/**
	 * 출고금지상품 목록
	 *
	 * @param delivery
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2020. 11. 05
	 */
	Collection<Delivery> getBangoodsList(Delivery delivery);	
	
	/**
	 * 출고금지상품 삭제
	 *
	 * @param delivery
	 * @author moon
	 * @since 2020. 11. 05
	 */
	void deleteBangoods(Delivery delivery);	
	
	/**
	 * 출고금지상품 등록 대상목록
	 *
	 * @param delivery
	 * @return Collection<TsaDelivery>
	 * @author moon
	 * @since 2020. 11. 05
	 */
	Collection<Delivery> getBangoodsRegistList(Delivery delivery);

	/**
	 * 출고금지상품 카운트
	 *
	 * @param delivery
	 * @return int
	 * @author moon
	 * @since 2020. 11. 06
	 */
	int getBangoodsListCnt(Delivery delivery);

	/**
	 * 출고금지상품 등록
	 *
	 * @param delivery
	 * @author moon
	 * @since 2020. 11. 06
	 */
	void createBangoods(Delivery delivery);
	
	/**
	 * 배송/회수지시 목록
	 *
	 * @param Delivery - 배송/회수지시 정보
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2020. 11. 11
	 */	
	Collection<Delivery> getDeliveryWithdrawDirectiveList(Delivery delivery);

		
}
