/**
 * Copyright (C), 2015-2019
 * Author:   HJL
 * Date:     2019/7/19 15:27
 * Description:缺陷或不通过审批表
 */
package com.emr.service;

import com.emr.entity.Archive_Master;
import com.emr.entity.Emr_Fault_Detail;
import com.emr.entity.Emr_Fault_Vo;
import com.emr.entity.OffsetLimitPage;

import java.util.List;

public interface Emr_Fault_DetailService {
    /**
     * 根据查询条件分页查询
     * @param emrFaultVo
     * @param offset
     * @param limit
     * @return
     */
    OffsetLimitPage selectByCol(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);

    /**
     * 根据查询条件导出
     * @param emrFaultVo
     * @return
     */
    List<Emr_Fault_Vo> selectByCol(Emr_Fault_Vo emrFaultVo);

    /**
     * 根据id修改相应的字段
     * @param emrFaultDetail
     * @return
     */
    int updateCloByPrimaryKey(Emr_Fault_Detail emrFaultDetail);

    /**
     * 根据病案号查询缺陷退回审核内容
     * @param emrFaultDetail
     * @return
     */
    Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail emrFaultDetail);

    /**
     * 插入缺陷退回审核内容
     * @param record
     * @return
     */
    int insertSel(Emr_Fault_Detail record);

    /**
     * 根据字段查询缺陷记录列表(1医生，2护士,5,6)
     * @param emrFaultDetail
     * @return
     */
    List<Emr_Fault_Vo> selectByColumn(Emr_Fault_Detail emrFaultDetail);

    /**
     * 根据字段查询缺陷记录列表(1医生，2护士5,6)
     *
     * @param emrFaultDetail
     * @param offset
     * @param limit
     * @return
     */
    OffsetLimitPage selectByColumn(Emr_Fault_Detail emrFaultDetail, Integer offset, Integer limit);

    /**
     * 根据id删除记录
     * @param id
     * @return
     */
    int deleteById(Integer id);

    /**
     * 根据id删除所有召回记录
     * @param record
     * @return
     */
    int delByArchiveId(Emr_Fault_Detail record);

    int delbyCol(Emr_Fault_Detail record);

    Emr_Fault_Detail selectById(Integer id);

    /**
     * 根据病案号和back_flag（1主任，2病案室）查找缺陷列表的分值
     * @param emrFaultDetail
     * @return
     */
    Emr_Fault_Detail selectByDept(Emr_Fault_Detail emrFaultDetail);


    List<Emr_Fault_Detail> selectByArchiveId(Emr_Fault_Detail emrFaultDetail);

    OffsetLimitPage selectStorageByCol(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);

    /**
     * 根据ArchiveState in('已归档','已封存')等查询记录
     * @param emrFaultVo
     * @return
     */
    List<Emr_Fault_Vo> selectStorageByCol(Emr_Fault_Vo emrFaultVo);

    List<Emr_Fault_Vo> getQualityControlList(Emr_Fault_Vo emrFaultVo);//获取质控缺陷评分列表

    OffsetLimitPage getQualityControlList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
}
 

