/**
 * Copyright (C), 2015-2019
 * Author:   HJL
 * Date:     2019/7/19 15:27
 * Description:病历文件信息表
 */
package com.emr.service;

import com.emr.entity.Archive_Detail;
import com.emr.entity.Archive_Detail_Vo;
import com.emr.entity.OffsetLimitPage;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.util.List;

public interface Archive_DetailService {
    /**
     * 根据条件查询分段目录
     *
     * @param record
     * @return
     */
    List<Archive_Detail_Vo> selectByClo(Archive_Detail_Vo record);

    /**
     * 根据条件查询分段目录(查询新生儿记录)
     *
     * @param record
     * @return
     */
    Integer selectChildByClo(Archive_Detail_Vo record);

    /**
     * 查询新生儿记录
     *
     * @param record
     * @return
     */
     OffsetLimitPage selectChild(Archive_Detail_Vo record, Integer offset, Integer limit);

    /**
     * 查询新生儿记录(非分页)
     *
     * @param record
     * @return
     */
    List<Archive_Detail> selectChildList(Archive_Detail record);

    /**
     * 根据条件查询分段详情列表分页
     *
     * @param record
     * @return
     */
    OffsetLimitPage detailByClo(Archive_Detail_Vo record, Integer offset, Integer limit);
    /**
     * 根据条件查询分段详情来源列表
     *
     * @param record
     * @return
     */
    List<Archive_Detail_Vo> sourceByClo(Archive_Detail_Vo record);

    /**
     * 根据条件修改分段信息
     *
     * @param record
     * @return
     */
    int updateCloById(Archive_Detail record);

    /**
     * 根据条件插入分段信息
     * @param record
     * @return
     */
    int insertSel(Archive_Detail record);

    /**
     * 根据id查找分段信息
     * @param id
     * @return
     */
    Archive_Detail selectByid(String id);

    /**
     * 根据病案号+类别删除记录
     * @param record
     * @return
     */
    int deleteByClo(Archive_Detail record);

    int delByClo(Archive_Detail record);
    /**
     * 根据id删除记录
     *
     * @param id
     * @return
     */
    int delById(String id);

    /**
     * 根据条件查询记录
     * @param record
     * @return
     */
    List<Archive_Detail> selectByColm(Archive_Detail record);

    List<Archive_Detail> selectByCol(Archive_Detail record);

    /**
     * 根据多个id合成字符串条件查询记录
     *
     * @param record
     * @return
     */
    List<Archive_Detail> selectByIdStr(Archive_Detail record);

    List<Archive_Detail> selectByCol2(Archive_Detail record);

    List<Archive_Detail> selectTypeTreeByPatientIdAndAssortIds(@Param("patientId")String patientId, @Param("assortIds")String assortIds);

    void selectByIdStrFont(HttpServletResponse response, HttpSession session, Archive_Detail detail);

    List<String> mulFile2OneById(HttpServletResponse response,List<Archive_Detail> arList);

    void showPdf(HttpServletResponse response, HttpSession session, String pdfWater);

    List<Archive_Detail_Vo> getCollectionDetail(Archive_Detail_Vo ArchiveDetailVo);
}
 

