package com.openhis.web.document.appservice;

import com.core.common.core.domain.R;
import com.openhis.web.document.dto.DocStatisticsDefinitionDto;

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

/**
 * 文档模板 业务接口
 */
public interface IDocStatisticsDefinitionAppService {


    /**
     * 创建或更新文档模板
     *
     * @param docStatisticsDefinitionDto
     */
    public R<?> createOrEdit(DocStatisticsDefinitionDto docStatisticsDefinitionDto);

    public R<?> add(DocStatisticsDefinitionDto docStatisticsDefinitionDto);

    public R<?> update(DocStatisticsDefinitionDto docStatisticsDefinitionDto);

    /**
     * 分页查询列表-不包含options 分页
     *
     * @return
     */
    public R<?> getPageList(Integer pageNo, Integer pageSize, String searchKey, HttpServletRequest request);

    /**
     * 获取文档统计定义列表（不分页）
     *
     * @param isStatistics 是否统计
     * @return 文档统计定义列表
     */
    public List<DocStatisticsDefinitionDto> getList(Integer isStatistics);

    List<DocStatisticsDefinitionDto> getListWithOptionList(Integer isStatistics);
    /**
     * 过时obsolete 获取文档统计定义选项列表并按指定格式返回 (key-value)
     *
     * @return 封装了处理结果的响应对象
     */
    public R<?> getOptionList();

    /**
     * 删除文档模板
     *
     * @param id
     */

    public R<?> deleteDocStatisticsDefinition(Long id);

}