package com.openhis.workflow.mapper;

import com.openhis.medication.dto.AdjustPriceMedListDto;
import com.openhis.workflow.dto.ChangePriceDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.openhis.workflow.domain.SupplyRequest;

import java.util.Date;
import java.util.List;

/**
 * 供应申请管理Mapper接口
 *
 * @author system
 * @date 2025-02-20
 */
@Repository
public interface SupplyRequestMapper extends BaseMapper<SupplyRequest> {
    /**
     * Desc: 根据 调价单号 查询 supply request 和 价格主表
     * @param busNo
     * @Author raymond
     * @Date 10:12 2025/10/19
     * @return java.util.List<com.openhis.workflow.dto.ChangePriceDto>
     **/
    List<ChangePriceDto> searchDataForBusNo(@Param("busNo") String busNo);
    /**
     * Desc: 根据 批次号查询 分组后的 产品ID
     * @param busNo
     * @Author raymond
     * @Date 13:36 2025/10/30
     * @return java.util.List<com.openhis.workflow.dto.ChangePriceDto>
     **/
    List<ChangePriceDto> searchGroupDataForBusNo(@Param("busNo") String busNo);
    /**
     * Desc: 根据调价单号 查询 原价 med
     * @param busNo
     * @Author raymond
     * @Date 14:10 2025/10/21
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchMedInfoDataForBusNo(@Param("busNo") String busNo);
    /**
     * Desc: 查询历史数据 药品调价数据
     * @param busNo
     * @param createTime
     * @Author raymond
     * @Date 07:22 2025/10/29
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchHistoryMedInfoData(@Param("busNo") String busNo, @Param("createTime")Date createTime);

    /**
     * Desc: 根据调价单号 查询 原价 device
     * @param busNo
     * @Author raymond
     * @Date 18:03 2025/10/22
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchDeviceInfoDataForBusNo(@Param("busNo") String busNo);
    /**
     * Desc: 查询历史数据 耗材调价数据
     * @param busNo
     * @param createTime
     * @Author raymond
     * @Date 08:57 2025/10/29
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchHistoryDeviceInfoDataForBusNo(@Param("busNo") String busNo,@Param("createTime") Date createTime);
    /**
     * Desc: 根据调价单号 查询 原价 activity
     * @param busNo
     * @Author raymond
     * @Date 18:03 2025/10/22
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchActivityInfoDataForBusNo(@Param("busNo") String busNo);
    /**
     * Desc: 根据调价单号 查询 历史原价 activity
     * @param busNo
     * @Author raymond
     * @Date 10:01 2025/10/29
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchHistoryActivityInfoDataForBusNo(@Param("busNo") String busNo);

    /**
     * Desc: 根据调价单号 查询 原价 health
     * @param busNo
     * @Author raymond
     * @Date 18:03 2025/10/22
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchHealthInfoDataForBusNo(@Param("busNo") String busNo);
    /**
     * Desc: 根据调价单号 查询 历史原价 health
     * @param busNo
     * @Author raymond
     * @Date 10:00 2025/10/29
     * @return java.util.List<com.openhis.medication.dto.AdjustPriceMedListDto>
     **/
    List<AdjustPriceMedListDto> searchHistoryHealthInfoDataForBusNo(@Param("busNo") String busNo);
}