package com.docus.server.rpc;

import com.docus.server.rpc.dto.MzZyyLisExportDto;
import com.docus.server.rpc.dto.MzZyyTestDto;
import com.docus.server.rpc.enums.MzZyyLisType;

import java.util.List;

/**
 * @author YongBin Wen
 * @date 2025/3/18 9:27
 */
public interface MzZyyLisService {
    /**
     * 返回指定患者的所有已审核报告列表
     * GetTestFormPDF
     *
     * @param jzh         患者流水号  无纸化 jzh
     * @param inpatientNo 患者号  无纸化 inpatientNo
     * @param patientType 患者类型（门诊/住院）
     * @return 数组中每一个元素结构  TESTDATE（检验日期）|MACHINEID（仪器编码）|SAMPLEID（样本号）|HISITEMNAMELIST（收费项目名称）|RT（常规报告）/GM（微生物报告）
     */
    List<MzZyyTestDto> getTestFormPdf(String jzh, String inpatientNo, String patientType);

    /**
     * 返回JSON数组，包含报告文件类型（JPG/PDF）和BASE64字符串，如果报告文件类型为JPG且为多页报告时，会返回多个JPG的BASE64字符串。
     * ExportTestFormPDF_RTForNoPaper：对应第一个方法返回值中的RT；ExportTestFormPDF_GMForNoPaper：对应第一个方法返回值中的GM
     *
     * @param type      报告方法
     * @param machineId 仪器编码
     * @param sampleId  样本号
     * @param testdate  检验日期
     * @return 报告
     */
    List<MzZyyLisExportDto> exportTestFormPdf(MzZyyLisType type, String machineId, String sampleId, String testdate);
}
