package org.springblade.manager.service;

import org.springblade.core.mp.base.BaseService;
import org.springblade.manager.dto.WbsTreePrivateDTO2;
import org.springblade.manager.entity.WbsTreePrivate;
import org.springblade.manager.vo.WbsNodeTableVO;
import org.springblade.manager.vo.WbsTreePrivateVO;


import java.util.List;

/**
 * 服务类
 *
 * @author liuyc
 * @since 2022-05-24
 */
public interface IWbsTreePrivateService extends BaseService<WbsTreePrivate> {
    List<WbsTreePrivateVO> tree(String wbsId, String projectId);

    boolean submit(WbsTreePrivate wbsTreePrivate);

    List<WbsNodeTableVO> selectByNodeTable(String id, String wbsId, String projectId);

    boolean removeTableByCondition(String id, String wbsId, String projectId);

    List<WbsTreePrivateVO> lazyTree(String wbsId, String tenantId, Long parentId, String projectId);

    List<WbsTreePrivateDTO2> findWbsTreePrivateSameLevel(String projectId, String parentId, String wbsId);

    boolean wbsTreePrivateSort(List<WbsTreePrivateDTO2> wbsTreeDTO);

    boolean wbsTreePrivateTableSort(List<WbsTreePrivateDTO2> wbsTreeDTO);

    int deleteLogicBypKeyId(String pKeyId);

    List<WbsTreePrivate> findWbsTreePrivate(String ids);
}
