package com.dk.mdm.mapper.ivt;

import com.dk.mdm.model.pojo.ivt.Inbound;
import com.dk.mdm.model.pojo.ivt.InboundItem;
import com.dk.common.mapper.BaseMapper;
import com.dk.mdm.model.query.ivt.InboundItemQuery;
import com.dk.mdm.model.query.ivt.InboundQuery;
import com.dk.mdm.model.response.ivt.InboundItemResponse;
import com.dk.mdm.model.response.ivt.InboundResponse;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
*  入库明细 Mapper
*/
@Repository
public interface InboundItemMapper extends BaseMapper<InboundItem>{

    /**
     * @desc   : 条件查询
     * @date   : 2024/3/7 17:28
     * @author : 寇珊珊
     */
    List<InboundItemResponse> selectByCond(InboundItemQuery inboundItemQuery);


    /**
     * @desc   : 条件查询个数 (采购入库用)
     * @author : 常皓宁
     * @date   : 2024/3/13 14:39
     */
    Long countByCond(InboundItemQuery inboundItemQuery);

    /**
     * @desc   : 条件查询 (入库成本核对用)
     * @author : 常皓宁
     * @date   : 2024/4/17 10:15
     */
    List<InboundItemResponse> selectCostCheck(InboundItemQuery inboundItemQuery);


    /**
     * @desc   : 根据id查询
     * @date   : 2024/3/9 9:14
     * @author : 寇珊珊
     */
    InboundItemResponse selectById(@Param("id") String id);

    /**
     * @desc   : 修改金额数量
     * @author : 于继渤
     * @date : 2024/2/26 10:36
     */
    int  updateAmount(InboundItem inboundItem);


    /**
     * @desc   : 条件查询 --- web端入库办理用
     * @date   : 2024/3/23 9:24
     * @author : 寇珊珊
     */
    List<InboundItemResponse> selectInboundItem(InboundItemQuery inboundItemQuery);



    int  deleteByFromId(InboundItem inboundItem);

    int updateIntoStatus(InboundItem inboundItem);


    /**
     * @desc   : 条件查询 --- 采购退货详情用
     * @date   : 2024/3/23 9:24
     * @author : 于继渤
     */
    List<InboundItemResponse> selectByInboundReturnCond(InboundItemQuery inboundItemQuery);

    /**
     * @desc   : 入库成本核对
     * @author : 常皓宁
     * @date   : 2024/4/18 9:07
     */
    int  updateCost(InboundItem inboundItem);
}

