package com.dk.mdm.mapper.ivt;

import com.dk.mdm.model.pojo.ivt.Outbound;
import com.dk.common.mapper.BaseMapper;
import com.dk.mdm.model.pojo.ivt.OutboundItem;
import com.dk.mdm.model.query.ivt.InboundQuery;
import com.dk.mdm.model.query.ivt.OutboundQuery;
import com.dk.mdm.model.query.sale.OrderQuery;
import com.dk.mdm.model.response.ivt.InboundResponse;
import com.dk.mdm.model.response.ivt.OutboundResponse;
import com.dk.mdm.model.response.sale.OrderResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
*  出库单 Mapper
*/
@Repository
public interface OutboundMapper extends BaseMapper<Outbound>{
    /**
     * @desc   : 根据条件进行查询
     * @author : 付斌
     * @date   : 2024-02-28 10:18
     */
    List<OutboundResponse> selectByCond(OutboundQuery outboundQuery);

    /**
     * @desc   : 根据条件进行查询（数量）
     * @author : 付斌
     * @date   : 2024-02-28 10:19
     */
    Long countByCond(OutboundQuery outboundQuery);

    /**
     * @desc   : 根据Id进行查询
     * @author : 付斌
     * @date   : 2024-03-03 9:25
     */
    OutboundResponse selectById(@Param("id") String id);

    /**
     * @desc   : 获取出库信息（新建退货用）
     * @author : 付斌
     * @date   : 2024-03-29 9:11
     */
    OutboundResponse selectByIdForReturn(String id);

    /**
     * @desc   : 根据传入的信息查询数据（销售退货出库办理用）
     * @date   : 2024/3/18 15:24
     * @author : 寇珊珊
     */
    OutboundResponse selectMessageByOtherQuery(OutboundQuery outboundQuery);


    /**
     * @desc   : 修改退货信息
     * @date   : 2024/3/29 9:05
     * @author : 寇珊珊
     */
    int  updateReturnMessage(Outbound outbound);

    /**
     * @desc   : 条件查询 --- web端出库办理用
     * @date   : 2024/3/23 9:24
     * @author : 寇珊珊
     */
    List<OutboundResponse> selectOutbound(OutboundQuery outboundQuery);

    /**
     * @desc   : 条件查询 --- web端出库办理用查个数
     * @date   : 2024/3/23 9:24
     * @author : 寇珊珊
     */
    Long selectOutboundCond(OutboundQuery outboundQuery);

    /**
     * @desc   : 根据来源id查询
     * @date   : 2024/4/16 13:34
     * @author : 寇珊珊
     */
    OutboundResponse selectByFromId(@Param("fromId") String fromId);

    /**
     * @desc   : 查询总单带明细
     * @date   : 2024/4/16 13:34
     * @author : 于继渤
     */
    List<OutboundResponse> selectByCondDetail(OutboundQuery outboundQuery);


    Long countByCondDetail(OutboundQuery outboundQuery);
}

