package com.zkqy.system.service;

import com.zkqy.system.entity.CommonEntity;
import com.zkqy.system.entity.DragTableStatistic;
import com.zkqy.system.entity.vo.DragTableVo;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**
 * 动态表格统计Service接口
 * 
 * @author zkqy
 * @date 2023-10-27
 */
public interface IDragTableStatisticService 
{
    /**
     * 查询动态表格统计
     * 
     * @param id 动态表格统计主键
     * @return 动态表格统计
     */
    DragTableStatistic selectDragTableStatisticById(Long id);

    /**
     * 查询动态表格统计列表
     * 
     * @param dragTableStatistic 动态表格统计
     * @return 动态表格统计集合
     */
    List<DragTableStatistic> selectDragTableStatisticList(DragTableStatistic dragTableStatistic);

    /**
     * 新增动态表格统计
     * 
     * @param vo 动态表格统计
     * @return 结果
     */
    int batchInsertDragTableStatistic(DragTableVo vo);

    /**
     * 新增动态表格组统计
     * @param vo
     * @return
     */
    public int batchInsertGroupDragTableStatistic(DragTableVo vo);

    /**
     * 修改动态表格统计
     * 
     * @param vo 动态表格统计
     * @return 结果
     */
    void updateDragTableStatistic(DragTableVo vo);

    /**
     * 修改动态表格组统计
     * @param vo
     * @return
     */
    public void updateGroupDragTableStatistic(DragTableVo vo);
    /**
     * 删除动态表格统计信息
     * 
     * @param tableKey 动态表格统计主键
     * @return 结果
     */
    int deleteDragTableStatisticByTableKey(String tableKey);

    /**
     * 批量删除动态表格通
     */
    void deleteDragTableStatisticByTableKeys(List<String> tableKeys);


    /**
     * 根据tableKey获取详情
     * @return
     */
    Map<String,Object> getInfoBySqlKey(String tableKey);

    /**
     * 根据tableKey获取统计列表
     */
    List<DragTableStatistic> getStatisticList(CommonEntity commonEntity);
}
