package com.dk.mdm.mapper.sale;

import com.dk.mdm.model.pojo.ivt.Outbound;
import com.dk.mdm.model.pojo.sale.Order;
import com.dk.common.mapper.BaseMapper;
import com.dk.mdm.model.query.sale.OrderQuery;
import com.dk.mdm.model.response.sale.OrderResponse;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
*  销售订单 Mapper
*/
@Repository
public interface OrderMapper extends BaseMapper<Order>{
    /**
     * @desc   : 根据条件进行查询
     * @author : 付斌
     * @date   : 2024-02-28 10:18
     */
    List<OrderResponse> selectByCond(OrderQuery orderQuery);

    /**
     * @desc : 以销定采 查询
     * @author : 王英杰
     * @date : 2023/3/14 10:36
     */
    List<Map<String, Object>>  purSaleSelectByCond(OrderQuery orderQuery);

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

    /**
     * @desc   : 根据Id进行查询
     * @author : 付斌
     * @date   : 2024-03-03 9:25
     */
    OrderResponse selectById(String id);


    /**
     * @desc   : 条件查询(总单带明细)
     * @author : 于继渤
     * @date   : 2024-02-28 10:18
     */
    List<OrderResponse> selectByCondDetail(OrderQuery orderQuery);


    /**
     * @desc   : 根据条件进行查询（数量）
     * @author : 于继渤
     * @date   : 2024-02-28 10:19
     */
    Long countByCondDetail(OrderQuery orderQuery);

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

    /**
     * @desc   : 销售跟踪报表
     * @author : 宋扬
     * @date   : 2024/4/24 17:18
     */
    Map<String, Object> getOrderTrackReport(Map param);

    /**
     * @desc   : 获取实收金额
     * @author : 付斌
     * @date   : 2024-03-09 11:36
     */
    Map<String, Object> getFactReceipt(String id);
}

