package org.dromara.web.service;

import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.web.domain.bo.*;
import org.dromara.web.domain.vo.EnteralNutritionPrescriptionVo;
import org.dromara.web.domain.vo.ListProductVo;
import org.dromara.web.domain.vo.PrescriptionVo;

import java.sql.Timestamp;

/**
 * @Author: Huanyi
 * @CreateTime: 2025-08-18
 * @Description:
 * @Version: 1.0
 */

public interface ReportService {

    R getNutritionalQualityControl(Timestamp start, Timestamp end);

    TableDataInfo listPageDietaryPrescription(DietaryPrescriptionBo bo, PageQuery pageQuery);

    TableDataInfo listPageDietaryInventory(DietaryInventoryBo bo, PageQuery pageQuery);

    TableDataInfo listPageInventory(InventoryBo bo, PageQuery pageQuery);

    TableDataInfo listPageInHospitalBillingReconciliation(InHospitalBillingReconciliationBo bo, PageQuery pageQuery);

    R listCost(CostBo bo);

    TableDataInfo listPageProgressNote(ProgressNoteBo bo, PageQuery pageQuery);

    R getIntraHospitalData(Timestamp start, Timestamp end, Long id);

    TableDataInfo<PrescriptionVo> getEnteralNutrition(EnteralNutritionPrescriptionBo bo, PageQuery pageQuery);

    TableDataInfo<ListProductVo> listProduct(ListProductBo bo, PageQuery pageQuery);

    TableDataInfo listPageScreeningOrAssessment(ScreeningOrAssessmentBo bo, PageQuery pageQuery);
}
