package com.sckw.transport.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sckw.transport.model.KwtWaybillOrderAddress;
import com.sckw.transport.model.KwtWaybillOrderTicket;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * @author zk
 * @desc 车辆运单榜单
 * @date 2023/10/16
 */
@Mapper
public interface KwtWaybillOrderTicketMapper extends BaseMapper<KwtWaybillOrderTicket> {

    /**
     * 查询车辆运单榜单信息
     * @param wOrderId 车辆订单id
     * @param wSubtaskId 运单子单ID
     * @param type 磅单类型（1装货单/2卸货单）
     * @desc 查询车辆运单榜单信息
     * @author zk
     * @date 2023/7/27
     * @return 榜单信息
     **/
    List<KwtWaybillOrderTicket> findWaybillOrderTicket(@Param("wOrderId") Long wOrderId, @Param("wSubtaskId") Long wSubtaskId, @Param("type") Integer type);

    /**
     * 查询车辆运单榜单信息
     * @param wOrderId 车辆订单id
     * @param type 磅单类型（1装货单/2卸货单）
     * @param unit 单位
     * @desc 查询车辆运单榜单信息
     * @author zk
     * @date 2023/7/27
     * @return 榜单信息
     **/
    List<KwtWaybillOrderTicket> findWaybillOrderTicketV1(@Param("wOrderId") Long wOrderId, @Param("wSubtaskId") Long wSubtaskId,
                                                   @Param("type") Integer type, @Param("unit") String unit);

    /**
     * 查询车辆运单榜单信息
     * @param wAddressId 车辆订单地址id
     * @param unit 单位
     * @desc 查询车辆运单榜单信息
     * @author zk
     * @date 2023/7/27
     * @return 榜单信息
     **/
    KwtWaybillOrderTicket findWaybillOrderTicketV2(@Param("wAddressId") Long wAddressId, @Param("unit") String unit);

    /**
     * 查询车辆运单榜单信息
     * @param wAddressId 车辆订单地址id
     * @desc 查询车辆运单榜单信息
     * @author zk
     * @date 2023/7/27
     * @return 榜单信息
     **/
    List<KwtWaybillOrderTicket> findWaybillOrderTicketV3(@Param("wAddressId") Long wAddressId, @Param("unit") String unit);

    /**
     * 修改榜单删除标识
     * @param wOrderId 运单ID
     * @param type 榜单类型
     * @return 跟新数量
     */
    int deleteTicket(@Param("wOrderId") Long wOrderId, @Param("type") Integer type);
}