package com.bonus.sgzb.material.mapper;

import com.bonus.sgzb.base.api.domain.MaType;
import com.bonus.sgzb.material.domain.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 整套抱杆mapper层
 * @Author ma_sh
 * @create 2024/4/15 17:23
 */
public interface MaWholeSetMapper {

    /**
     * 新增ma_whole_set表
     * @param wholeList
     * @return
     */
    int insert(@Param("wholeList") List<MaWhole> wholeList);

    /**
     * 根据parentId查询，去重
     * @param parentId
     * @return
     */
    int selectByParentId(@Param("parentId") Integer parentId);

    /**
     * 查询整套抱杆管理
     * @param dto
     * @return
     */
    List<MaWholeVo> selectList(MaWholeSetDto dto);

    /**
     * 查询整套抱杆明细
     * @param dto
     * @return
     */
    List<MaWholeVo> selectListById(MaWholeSetDto dto);

    /**
     * 根据id删除
     * @param
     * @return
     */
    int deleteById(MaWholeSetDto dto);

    /**
     * 根据id去ma_whole_set表中查询typeid
     * @param id
     * @return
     */
    List<Integer> selectTypeId(@Param("id") Integer id);
    List<MaWhole> selectAllTypeId();

    /**
     * 先根据id去查询物质类型树
     * @param id
     * @return
     */
    TreeSelectId selectTypeTree(@Param("id") Integer id);

    /**
     * 根据id查询
     * @param id
     * @return
     */
    List<MaWholeVo> select(@Param("id") Integer id);

    /**
     * 根据typeId查询对应树id
     * @param typeId
     * @return
     */
    List<TreeSelectId> selectId(@Param("typeId") List<Integer> typeId);

    int selectByWholeTypeName(MaWholeSetDto wholeTypeName);

    List<LeaseApplyDetails> selectListByWholeTypeName(MaWholeSetDto wholeTypeName);

    void updateMaType(MaWhole maWhole);

    void updateMaType1();
}
