package com.style24.batch.biz.dao;

import java.util.Collection;
import com.style24.core.support.annotation.WmsDs;
import com.style24.persistence.domain.Delivery;

/**
 * 배송 Dao
 *
 * @author moon
 * @since 2020. 12. 08
 */
@WmsDs
public interface TsbWmsDeliveryDao {

	/**
	 * WMS_IF 총알배송 권역정보 조회
	 * @param batchId - 배치ID
	 * @return
	 * @author moon
	 * @since 2020. 12. 08
	 */
	Collection<Delivery> getWmsIfDailyDeliveryZoneList();
	
	
	/**
	 * WMS_IF 회수예외 목록 -H
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 02
	 */
	Collection<Delivery> getWmsIfWithdrawExcList();
	
	/**
	 * WMS_IF 회수예외 목록 -D
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 02
	 */
	Collection<Delivery> getWmsIfWithdrawExcItemList();
	
	/**
	 * WMS_IF 회수예외 목록 -M
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 02
	 */
	Collection<Delivery> getWmsIfWithdrawExcMemoList();	

	/**
	 * WMS_IF 회수예외 수정 -H
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 02
	 */
	void updateWmsIfWithdrawExcList(Delivery delivery);
	
	/**
	 * WMS_IF 회수예외 수정 -D
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 02
	 */
	void updateWmsIfWithdrawExcItemList(Delivery delivery);
	
	/**
	 * WMS_IF 회수예외 수정 -M
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 02
	 */
	void updateWmsIfWithdrawExcMemoList(Delivery delivery);	
	
	/**
	 * WMS_IF 출고예외 목록 -H
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 08
	 */
	Collection<Delivery> getWmsIfDeliveryExcList();
	
	/**
	 * WMS_IF 출고예외 목록 -D
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 08
	 */
	Collection<Delivery> getWmsIfDeliveryExcItemList();	
	
	/**
	 * WMS_IF 출고예외 수정 -H
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 08
	 */
	void updateWmsIfDeliveryExc(Delivery delivery);
	
	/**
	 * WMS_IF 출고예외 수정 -D
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 08
	 */
	void updateWmsIfDeliveryExcItem(Delivery delivery);
	
	/**
	 * WMS_IF 사은품 취소
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 05. 03
	 */
	void updateWmsGiftCancel(Delivery delivery);
		
	
	
	
	/**
	 * WMS_IF 출고결과목록 
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 09
	 */
	Collection<Delivery> getWmsIfDeliveryOrdRsltList();
	
	/**
	 * WMS_IF 출고결과 주문번호 목록 
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 07. 15
	 */
	Collection<Delivery> getWmsIfDeliveryOrderNoRsltList();	
	
	
	/**
	 * WMS_IF 출고결과수신완료 -H 
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 09
	 */
	void updateWmsIfDeliveryOrdRslt(Delivery delivery);

	/**
	 * WMS_IF 출고결과수신완료 -D
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 09
	 */
	void updateWmsIfDeliveryOrdRsltItem(Delivery delivery);
		
	/**
	 * WMS_IF 회수결과 주문변경번호 조회
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 07. 12
	 */
	Collection<Delivery> getWmsIfRecallDeliveryOrdChgNoList();		
	
	
	
	/**
	 * WMS_IF 입고결과수신완료 -H
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 19
	 */
	void updateWmsIfRecallDeliveryRslt(Delivery delivery);
	
	/**
	 * WMS_IF 결과수신완료 -D
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 19
	 */
	void updateWmsIfRecallDeliveryItemRslt(Delivery delivery);
	
	
	/**
	 * WMS_IF 출고 송장번호 조회
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 03. 26
	 */
	Collection<Delivery> getWmsTbIfDeliveryInvoiceRslt();	
	
	/**
	 * WMS_IF 출고 수신완료
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 03. 27
	 */
	void updateWmsTbIfDeliveryInvoiceRslt(Delivery delivery);
	
	/**
	 * 출고처지정 지연재고 등록 
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 05
	 */
	void insertWmsTbIfDelifixQty(Delivery delivery);
	
	/**
	 * 출고처지정 지연재고 삭제 
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 05
	 */
	void deleteWmsTbIfDelifixQty(Delivery delivery);	
	
	/**
	 * 출고요청 M
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 08
	 */
	void insertWmsTbIfDeliveryOrder(Delivery delivery);
		
	/**
	 * 출고요청 D
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 08
	 */
	void insertWmsTbIfDeliveryOrderItem(Delivery delivery);
	
	/**
	 * 회수요청 M
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 08
	 */
	void insertWmsRecallDelivery(Delivery delivery);
	
	/**
	 * 회수요청 D
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 08
	 */
	void insertWmsRecallDeliveryItem(Delivery delivery);
		
	/**
	 * 회수 송장번호 등록 
	 * @param 
	 * @return Delivery
	 * @author moon
	 * @since 2021. 04. 09
	 */
	void updateWmsRecallInvoice(Delivery delivery);
	
	/**
	 * 입고결과 주문상세번호 조회 
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 07. 12
	 */
	Collection<Delivery> getWmsOrdDtlNoList(Delivery delivery);		
	
	/**
	 * 입고결과 아이템 조회 
	 * @param 
	 * @return Collection<Delivery>
	 * @author moon
	 * @since 2021. 07. 12
	 */
	Collection<Delivery> getWmsOrdDtlItemList(Delivery delivery);			
	
}
