package org.dromara.eims.service; import cn.hutool.core.lang.tree.Tree; import jakarta.validation.constraints.NotEmpty; import org.dromara.eims.domain.vo.EimsSpareTypeVo; import org.dromara.eims.domain.bo.EimsSpareTypeBo; import java.util.Collection; import java.util.List; /** * 备件类型Service接口 * * @author zhuguifei * @date 2025-03-20 */ public interface IEimsSpareTypeService { /** * 查询备件类型 * * @param id 主键 * @return 备件类型 */ EimsSpareTypeVo queryById(Long id); /** * 查询符合条件的备件类型列表 * * @param bo 查询条件 * @return 备件类型列表 */ List queryList(EimsSpareTypeBo bo); /** * 新增备件类型 * * @param bo 备件类型 * @return 是否新增成功 */ Boolean insertByBo(EimsSpareTypeBo bo); /** * 修改备件类型 * * @param bo 备件类型 * @return 是否修改成功 */ Boolean updateByBo(EimsSpareTypeBo bo); /** * 校验并批量删除备件类型信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); /** * 检查是否存在子项 * @param id * @return */ boolean hasChildBySpareTypeId(@NotEmpty(message = "主键不能为空") Long id); /** * 获取备件类型树列表 * * @param bo * @return 树列表 */ List> selectSpareTypeTreeList(EimsSpareTypeBo bo); }