/*
 * Copyright ©2023 CJB-CNIT Team. All rights reserved
 */
package com.openhis.web.reportmanage.appservice;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.openhis.web.reportmanage.dto.InboundReportSearchParam;
import com.openhis.web.reportmanage.dto.MedUseReportInfoDto;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 药品院内开立情况 appService
 *
 * @author liuhr
 * @date 2025-07-15
 */
public interface IMedicationDeviceReportAppService {

    /**
     * 药品耗材日结/周结/月结算（统计筛选时间区内）
     *
     * @param dispenseDateSTime 开始时间
     * @param dispenseDateSTime 结束时间
     * @return 药品耗材日结/周结/月结算单
     */
    R<?> selectMedDevReport(String dispenseDateSTime, String dispenseDateETime);

    /**
     * 药品耗材日结/周结/月结算 明细清单
     *
     * @param orgId 科室
     * @param dispenseDateSTime 开始时间
     * @param dispenseDateSTime 结束时间
     * @param pageNo 当前页码
     * @param pageSize 查询条数
     * @return 药品耗材日结/周结/月结算单
     */
    Page<MedUseReportInfoDto> selectMedDdevInfo(Long orgId, String name, String dispenseDateSTime, String dispenseDateETime,Integer pageNo, Integer pageSize);

    /**
     * 导出
     *
     * @param orgId 科室
     * @param dispenseDateSTime 开始时间
     * @param dispenseDateSTime 结束时间
     * @param pageNo 当前页码
     * @param pageSize 查询条数
     * @return 单据详情
     */
    R<?> makeExcelFile(Long orgId, String name, String dispenseDateSTime, String dispenseDateETime,Integer pageNo, Integer pageSize, HttpServletResponse response);
}
