package com.openhis.administration.mapper;

import com.openhis.administration.dto.ChangePriceDataDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.openhis.administration.domain.ChangePriceRecord;

import java.util.List;

/**
 * 修改价格记录Mapper接口
 *
 * @author system
 * @date 2025-10-15
 */
@Repository
public interface ChangePriceRecordMapper extends BaseMapper<ChangePriceRecord> {
    /**
     * Desc: 根据条件 查询 药品调价单
     * @param busNo
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 09:46 2025/11/2
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchMedChangePriceByBusNo(@Param("busNo") String busNo,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据条件 查询 药品调价单
     * @param itemId
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 07:34 2025/11/4
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchMedChangePriceByItemId(@Param("itemId") Long itemId,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据条件 查询 耗材调价单
     * @param busNo
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 09:46 2025/11/2
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchDeviceChangePriceByBusNo(@Param("busNo") String busNo,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据条件 查询 耗材调价单
     * @param itemId
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 07:33 2025/11/4
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchDeviceChangePriceByItemId(@Param("itemId") Long itemId,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);

    /**
     * Desc: 根据条件 查询 诊疗调价单
     * @param busNo
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 09:46 2025/11/2
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchActivityChangePriceByBusNo(@Param("busNo") String busNo,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据条件 查询 诊疗调价单
     * @param itemId
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 07:32 2025/11/4
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchActivityChangePriceByItemId(@Param("itemId") Long itemId,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);

    /**
     * Desc: 根据条件 查询 挂号调价单
     * @param busNo
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 09:46 2025/11/2
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchHealthChangePriceByBusNo(@Param("busNo") String busNo,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据条件 查询 挂号调价单
     * @param itemId
     * @param categoryEnum
     * @param statusEnum
     * @Author raymond
     * @Date 07:31 2025/11/4
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchHealthChangePriceByItemId(@Param("itemId") Long itemId,@Param("categoryEnum") Integer categoryEnum,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据条件 查询 审批单 审核中的数据
     * @param busNo
     * @param statusEnum
     * @Author raymond
     * @Date 10:36 2025/11/2
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceDataDto> searchChangePriceRecordDataByBusNo(@Param("busNo") String busNo,@Param("statusEnum") Integer statusEnum);
    /**
     * Desc: 根据编号分组查询 数据
     * @param busNo
     * @Author raymond
     * @Date 09:39 2025/11/5
     * @return java.util.List<com.openhis.administration.dto.ChangePriceDataDto>
     **/
    List<ChangePriceRecord> searchChangePriceDataGroupByBusNo(@Param("busNo") String busNo);

}