package com.ruoyi.system.mapper.projectV2;

import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.domain.projectV2.ZsyzSkcy;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 省库产业Mapper接口
 * 
 * @author boman
 * @date 2023-03-29
 */
public interface ZsyzSkcyMapper 
{
    /**
     * 查询省库产业
     * 
     * @param skcyId 省库产业主键
     * @return 省库产业
     */
    public ZsyzSkcy selectZsyzSkcyBySkcyId(Long skcyId);

    /**
     * 根据ID查询所有子产业
     *
     * @param skcyId 产业ID
     * @return 产业列表
     */
    public List<ZsyzSkcy> selectChildrenSkcyById(Long skcyId);

    /**
     * 查询省库产业列表
     * 
     * @param zsyzSkcy 省库产业
     * @return 省库产业集合
     */
    public List<ZsyzSkcy> selectZsyzSkcyList(ZsyzSkcy zsyzSkcy);

    /**
     * 新增省库产业
     * 
     * @param zsyzSkcy 省库产业
     * @return 结果
     */
    public int insertZsyzSkcy(ZsyzSkcy zsyzSkcy);

    /**
     * 修改省库产业
     * 
     * @param zsyzSkcy 省库产业
     * @return 结果
     */
    public int updateZsyzSkcy(ZsyzSkcy zsyzSkcy);
    public int updateZsyzSkcyChildren(@Param("zsyzSkcys") List<ZsyzSkcy> zsyzSkcys);

    /**
     * 删除省库产业
     * 
     * @param skcyId 省库产业主键
     * @return 结果
     */
    public int deleteZsyzSkcyBySkcyId(Long skcyId);

    /**
     * 批量删除省库产业
     * 
     * @param skcyIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZsyzSkcyBySkcyIds(Long[] skcyIds);
    public int updateZsyzSkcyStatusNormal(Long[] skcyIds);
    /**
     * 是否存在子节点
     *
     * @param skcyId 产业ID
     * @return 结果
     */
    public int hasChildBySkcyId(Long skcyId);
}
