package com.ruoyi.project.system.service;

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

import com.ruoyi.project.system.domain.TbFormModule;

/**
 * 组件类型Service接口
 *
 * @author ruoyi
 * @date 2020-06-17
 */
public interface ITbFormModuleService
{

    /**
     * 动态插入表数据
     * @param tableName
     * @param tableMap
     * @return
     */
    public int insertTableData(String tableName, LinkedHashMap tableMap);

    public int insertTable(String tableName,  String vModel , String defaultValue);

    public int updateTableData(String tableName, Map tableMap, String id);
    /**
     * 根据id和表名 动态删除数据
     * @param tableName 表名
     * @param id 信息id
     * @return 状态
     */
    public int deleteTableData(String tableName,Long id);

    /**
     * 根据表名动态查询表数据
     * @param tableName 表名
     * @return 表信息
     */
    public  List<Map> selectTableData(String tableName);

    /**
     * 根据表名查询对应表结构
     * @param tableName 表名
     * @return 表结构
     */
    public List<TbFormModule> selTbDataByName(String tableName);
    /**
     * 查询组件类型
     *
     * @param id 组件类型ID
     * @return 组件类型
     */
    public TbFormModule selectTbFormModuleById(Long id);

    /**
     * 查询组件类型列表
     *
     * @param tbFormModule 组件类型
     * @return 组件类型集合
     */
    public List<TbFormModule> selectTbFormModuleList(TbFormModule tbFormModule);

    /**
     * 新增组件类型
     *
     * @param tbFormModule 组件类型
     * @return 结果
     */
    public int insertTbFormModule(TbFormModule tbFormModule);

    /**
     * 修改组件类型
     *
     * @param tbFormModule 组件类型
     * @return 结果
     */
    public int updateTbFormModule(TbFormModule tbFormModule);

    /**
     * 批量删除组件类型
     *
     * @param ids 需要删除的组件类型ID
     * @return 结果
     */
    public int deleteTbFormModuleByIds(String[] action);

    /**
     * 删除组件类型信息
     *
     * @param id 组件类型ID
     * @return 结果
     */
    public int deleteTbFormModuleById(Long id);
    /**
     * 根据表名删除组件信息
     * @param formId 表名
     * @return
     */
    public int deleteTableZJ(String formId);

}
