package com.emoon.chat.service;

import com.emoon.chat.domain.dto.PatientRecordWithQCResultDTO;
import com.emoon.chat.domain.dto.RecordDetailItemDTO;
import com.emoon.common.mybatis.core.page.PageQuery;
import com.emoon.common.mybatis.core.page.TableDataInfo;

import java.util.List;

public interface IPatientRecordService {
    void fetchAndSavePatientData(String startDate, String endDate);
    void fetchAndSavePatientTest();

    TableDataInfo<PatientRecordWithQCResultDTO> patientRecordList(
        PageQuery pageQuery,
        String recordId,
        String admissionNo,
        String patientName,
        String admissionDept,
        String status,
        String attendingDoctor,
        String qcStartDate,
        String qcEndDate,
        String viewed,
        Long userId
    );


    List<RecordDetailItemDTO> getDetailListById(String id);

    boolean isRecordViewedByUser(String patientRecordId, Long userId);
    boolean markRecordAsViewed(String patientRecordId, Long userId);
    boolean cancelRecordViewed(String patientRecordId, Long userId);




    /**
     * 保存质控意见和签名
     */
    boolean saveQcOpinion(String patientRecordId, String qcReviewComments, String qcName, String qcType);


}
