package com.prolog.rdc.tms.dao.mapper;

import com.prolog.rdc.tms.model.dto.basicData.*;
import com.prolog.rdc.tms.model.vo.basicData.*;
import org.apache.ibatis.annotations.Mapper;

import com.prolog.framework.dao.mapper.BaseMapper;
import com.prolog.rdc.tms.model.entity.line.TmsBaseCargoOwnerModel;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 
 *
 * 货主资料表
 *
 * @className :TmsBaseCargoOwnerMapper
 * @author :fanzw
 * @creationTime :2022/02/25
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2022/02/25
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Mapper
public interface TmsBaseCargoOwnerMapper extends BaseMapper<TmsBaseCargoOwnerModel> {

    // STD-DEVELOP20220823 lhb JC-HZ-001货主支持多部门 20220830 start
    /**
     * 货主资料分页查询
     * @param cargoOwnerPagingQueryVO
     * @return
     */
    List<CargoOwnerPagingQueryDTO> pageCargoOwnerData(@Param("vo") CargoOwnerPagingQueryVO cargoOwnerPagingQueryVO);

    /**
     * 货主资料弹窗
     * @param cargoOwnerPopupVO
     * @return
     */
    List<CargoOwnerPopupDTO> popupCargoOwnerData(@Param("vo") CargoOwnerPopupVO cargoOwnerPopupVO);

    /**
     * 货主资料弹窗
     * @param cargoOwnerPopupVO
     * @return
     */
    List<CargoOwnerPopupDTO> popupCargoOwnerDataByName(@Param("vo") CargoOwnerPopupVO cargoOwnerPopupVO);

    /**
     * 用户货主资料弹窗
     * @param userCargoOwnerPopupVO
     * @return
     */
    List<UserCargoOwnerPopupDTO> popupUserCargoOwnerData(@Param("vo") UserCargoOwnerPopupVO userCargoOwnerPopupVO);

    /**
     * 根据货主ID集合分页查询
     * @param cargoOwnerByIdsVO
     * @return
     */
    List<CargoOwnerByIdsDTO> pageCargoOwnerByIdsData(@Param("vo") CargoOwnerByIdsVO cargoOwnerByIdsVO);


    /**
     * 根据货主编码名称查询货主资料
     * @param cargoOwnerByEncodingNameVO
     * @return
     */
    List<CargoOwnerByEncodingNameDTO> getCargoOwnerByEncodingNameData(@Param("vo") CargoOwnerByEncodingNameVO cargoOwnerByEncodingNameVO);

    // STD-DEVELOP20220823 lhb JC-HZ-001货主支持多部门 20220830 end
}
