package com.bonus.material.ma.service;

import com.bonus.common.biz.domain.TreeSelect;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.ma.domain.MaTypeHistory;
import com.bonus.material.ma.domain.StandardConfigBean;
import com.bonus.material.ma.domain.Type;
import com.bonus.material.ma.domain.vo.MaTypeConfigVo;
import com.bonus.material.ma.domain.vo.MaTypeSelectVo;
import com.bonus.material.ma.domain.vo.MaTypeVo;
import com.bonus.material.ma.domain.vo.StandardConfigDetailsVo;

import java.util.List;

/**
 * 机械设备标准配置管理Service接口
 * @author hay
 */
public interface StandardConfigManageService {

    /**
     * 查询机械设备标准配置管理树结构信息
     * @param configName
     * @param parentId
     * @return
     */
    AjaxResult getConfigTreeSelect(String configName, String parentId);

    /**
     * 根据左配置id查询右表格
     * @param bean
     * @return
     */
    AjaxResult getListByConfigId(StandardConfigDetailsVo bean);

    /**
     * 新增机械设备标准配置管理
     * @param bean
     * @return
     */
    int insertConfig(StandardConfigBean bean);

    /**
     * 修改机械设备标准配置管理
     * @param bean
     * @return
     */
    int updateConfig(StandardConfigBean bean);

    /**
     * 删除机械设备标准配置管理
     * @param bean
     * @return
     */
    AjaxResult deleteConfigByConfigId(StandardConfigBean bean);

    /**
     * 新增机械设备标准配置管理明细
     * @param bean
     * @throws Exception
     * @return
     */
    int addConfigDetails(StandardConfigDetailsVo bean) throws Exception;

    /**
     * 修改机械设备标准配置管理明细
     * @param bean
     * @return
     */
    int updateConfigDetails(StandardConfigDetailsVo bean);

    /**
     * 删除机械设备标准配置管理明细
     * @param bean
     * @return
     */
    AjaxResult delConfigDetails(StandardConfigDetailsVo bean);

    /**
     * 标准配置下拉选--只有二级数据
     * @param bean
     * @return
     */
    AjaxResult getConfigLevelTwoList(StandardConfigBean bean);

    /**
     * 根据配置id查询配置明细
     * 返回参数和规格型号树参数一致
     * @param bean
     * @return
     */
    AjaxResult getListsByConfigId(StandardConfigDetailsVo bean);

    /**
     * 导出标准配置管理列表
     * @param bean
     * @return
     */
    List<StandardConfigDetailsVo> selectStandardList(StandardConfigDetailsVo bean);
}
