package com.openhis.web.document.appservice;

import com.core.common.core.domain.R;
import com.openhis.web.document.dto.DocRecordDto;
import com.openhis.web.document.dto.DocRecordPatientQueryParam;
import com.openhis.web.document.dto.DocRecordQueryParam;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;

/**
 * 文书记录 应用Service
 */
public interface IDocRecordAppService {

    //    /**
//     * 新增记录
//     *
//     * @param docRecordDto 文书记录信息
//     * @return
//     */
//    R<?> createOrEditRecord(DocRecordDto docRecordDto);
    R<?> addRecord(DocRecordDto docRecordDto);

    R<?> updateRecord(DocRecordDto docRecordDto);

    /**
     * 根据患者ID或就诊ID获取文书记录列表,只针对不需返回患者具体信息的列表，体温单除外，单独处理
     */
    R<?> getRecordByEncounterIdList(DocRecordQueryParam docRecordQueryParam, Integer isPage, Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request);

    R<?> getRecordPageList(DocRecordPatientQueryParam docRecordPatientQueryParam, List<Integer> primaryMenuEnumList, Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request);

    /**
     * 根据文书记录ID获取文书记录信息
     *
     * @param recordId 文书记录ID
     * @return
     */

    R<?> getRecordById(Long recordId);

    R<?> setIsEdit(Long recordId);

    /**
     * 删除文书分配信息
     *
     * @param ids 删除文书分配信息ID列表
     * @return
     */
    R<?> deleteRecord(List<Long> ids);
}