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

import com.prolog.framework.dao.mapper.BaseMapper;
import com.prolog.rdc.tms.model.dto.intelligent.IntelligentDispatchDTO;
import com.prolog.rdc.tms.model.dto.intelligent.IntelligentDispatchGroupPreDataDTO;
import com.prolog.rdc.tms.model.dto.intelligent.IntelligentDispatchShipCountDTO;
import com.prolog.rdc.tms.model.dto.intelligent.IntelligentDispatchShipDTO;
import com.prolog.rdc.tms.model.entity.TmsIntelligentDispatch;
import com.prolog.rdc.tms.model.vo.intelligent.IntelligentDispatchGroupQueryVO;
import com.prolog.rdc.tms.model.vo.intelligent.IntelligentDispatchQueryVO;
import com.prolog.rdc.tms.model.vo.intelligent.IntelligentDispatchShipBillQueryVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
* 智能调度汇总表 Mapper
* <p>
* Copyright: Copyright (C) 2023 prolog-int, Inc. All rights reserved.
* <p>
* Company: 湖北普罗格科技股份有限公司
*
*
* @author hongbo.pan
* @since 2023-08-24 12:27:10
*/
@Mapper
public interface TmsIntelligentDispatchMapper extends BaseMapper<TmsIntelligentDispatch> {

    /**
     * queryGroup
     * @param vo
     * @return
     */
    List<IntelligentDispatchGroupPreDataDTO> queryGroup(@Param("vo") IntelligentDispatchGroupQueryVO vo);

    /**
     * queryShipBill
     * @param vo
     * @return
     */
    List<IntelligentDispatchShipDTO> queryShipBill(@Param("vo") IntelligentDispatchShipBillQueryVO vo);

    /**
     * countShipBill
     * @param vo
     * @return
     */
    IntelligentDispatchShipCountDTO countShipBill(@Param("vo") IntelligentDispatchShipBillQueryVO vo);

    /**
     * queryShipBillId
     * @param vo
     * @return
     */
    List<String> queryShipBillId(@Param("vo") IntelligentDispatchShipBillQueryVO vo);

    /**
     * lockShipBill
     * @param vo
     * @return
     */
    int lockShipBill(@Param("vo") IntelligentDispatchShipBillQueryVO vo);

    /**
     * findByCondition
     * @param vo
     * @return
     */
    List<IntelligentDispatchDTO> findByCondition(@Param("vo") IntelligentDispatchQueryVO vo);

}

