package com.dk.mdm.mapper.sale;

import com.dk.mdm.model.pojo.ivt.OutboundItem;
import com.dk.mdm.model.pojo.sale.OrderItem;
import com.dk.common.mapper.BaseMapper;
import com.dk.mdm.model.query.sale.OrderItemQuery;
import com.dk.mdm.model.response.ivt.IntoReturnResponse;
import com.dk.mdm.model.response.sale.OrderItemResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 销售明细 Mapper
 */
@Repository
public interface OrderItemMapper extends BaseMapper<OrderItem> {
    /**
     * @desc : 根据条件进行查询
     * @author : 付斌
     * @date : 2024-02-28 10:18
     */
    List<OrderItemResponse> selectByCond(OrderItemQuery orderQuery);

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

    /**
     * @desc : 删除明细
     * @author : 付斌
     * @date : 2024-03-03 14:17
     */
    int deleteById(@Param("id") String id);

    /**
     * @desc : 根据条件进行查询（出库用）
     * @author : 付斌
     * @date : 2024-03-06 12:59
     */
    List<OrderItemResponse> selectByCondForOut(OrderItemQuery orderQuery);

    /**
     * @desc : 根据条件进行查询（退货用）
     * @author : 付斌
     * @date : 2024-03-06 12:59
     */
    List<OrderItemResponse> selectByCondForReturn(OrderItemQuery orderQuery);

    /**
     * @desc :根据主表主键锁定表t_psi_order_item的一行数据
     * @author : 付斌
     * @date : 2024-03-09 15:44
     */
    List<OrderItem> selectByZIdForUpdate(String id);


    /**
     * @desc   : 根据id查询
     * @date   : 2024/3/19 15:01
     * @author : 寇珊珊
     */
    OrderItemResponse selectById(@Param("id") String id);

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


    /**
     * @desc   : 以销定采查询订单明细---web用
     * @author : 常皓宁
     * @date   : 2024/3/29 16:26
     */
    List<OrderItemResponse> purchaseBasedOnSaleSelectByCond (OrderItemQuery orderItemQuery);


    /**
     * @desc   : 以销定采查询订单明细个数---web用
     * @author : 常皓宁
     * @date   : 2024/3/29 16:26
     */
    Long  purchaseBasedOnSaleContByCond (OrderItemQuery orderItemQuery);
}

