package cn.common.service;


import cn.common.req.MedicalHistoryAddReq;
import cn.common.req.MedicalHistoryReq;
import cn.common.req.MedicalHistoryUpdateReq;
import cn.common.interaction.resp.page.Pagination;
import cn.common.resp.MedicalHistoryResp;
import cn.common.req.base.BaseDeleteReq;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;

/**
* @author Singer create by Singer email:singer-coder@qq.com
* @packageName cn.common.service
* @Description: 病历信息相关服务
* @date 2021-04-23
*/
public interface MedicalHistoryService {

    /**
     * 数据导入
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2022/3/21
     * @param file 文件
     * @return
     */
    void importData(MultipartFile file);

    /**
     * 导出数据
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2022/3/21
     * @param pageReq
     * @return java.util.List
     */
    void exportData(MedicalHistoryReq pageReq);

    /**
     * 新增
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2021/2/15
     * @param addReq 新增Req
     */
    void addItem(MedicalHistoryAddReq addReq);

    /**
     * 批量删除信息
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2021/2/2
     * @param req 需要被删除的信息
     */
    void batchDeleteItem(BaseDeleteReq req);

    /**
     * 查询所有信息
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2022/3/13
     * @param
     * @return java.util.List
     */
    List<MedicalHistoryResp> queryAllMedicalHistory();

    /**
     * 分页查询
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2021/2/15
     * @param  pageReq 分页查询Req
     * @return Pagination
     */
    Pagination<MedicalHistoryResp> queryByPage(
        MedicalHistoryReq pageReq);

    /**
     * 更新
     * @author: create by singer - Singer email:singer-coder@qq.com
     * @date 2021/4/2
     * @param updateReq 更新请求参数
     */
    void updateItem(MedicalHistoryUpdateReq updateReq);

}
