package com.yfd.platform.modules.specialDocument.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yfd.platform.modules.specialDocument.domain.Project;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 专项项目表 服务类
 * </p>
 *
 * @author LiMengNan
 * @since 2025-01-20
 */
public interface IProjectService extends IService<Project> {

    /**********************************
     * 用途说明: 分页查询专项文档管理-项目管理
     * 参数说明
     * description   项目描述
     * projectType   项目类型
     *projectName    项目名称
     * pageNum 当前页
     * 返回值说明: com.yfd.platform.config.ResponseResult 返回分页查询结果
     ***********************************/
    Page<Project> getSdProjectPage(String description, String projectType, String projectName, Page<Project> page);

    /***********************************
     * 用途说明：新增专项文档管理-项目管理
     * 参数说明
     * Project     项目管理
     * 返回值说明:  com.yfd.platform.config.ResponseResult 返回新增成功或者失败
     ***********************************/
    Boolean addSdproject(Project project);

    /**********************************
     * 用途说明: 修改专项文档管理-项目管理
     * 参数说明
     * Project     项目管理
     * 返回值说明: com.yfd.platform.config.ResponseResult 返回修改成功或者失败
     ***********************************/
    boolean updateSdproject(Project project);

    boolean deleteProjectByIds(List<String> dataset);

    String generateNextProjectCode();
}
