package com.gkhy.assess.system.service; import com.gkhy.assess.common.api.CommonPage; import com.gkhy.assess.system.domain.AssProject; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.assess.system.domain.vo.AssProjectVo; import com.gkhy.assess.system.domain.vo.ProjectStaticVO; import com.gkhy.assess.system.enums.ReportProgressEnum; /** *

* 项目表 服务类 *

* * @author kzy * @since 2023-12-11 14:16:18 */ public interface AssProjectService extends IService { /** * 根据条件分页查询项目列表 * @param project * @return */ CommonPage projectList(AssProject project); /** * 根据id获取项目 * @param projectId * @return */ AssProjectVo getProjectById(Long projectId); /** * 新增项目 * @param project * @return */ int addProject(AssProject project); /** * 根据id删除项目 * @param projectId * @return */ int deleteProjectById(Long projectId); /** * 编辑项目 * @param project * @return */ int editProject(AssProject project); /** * 校验项目 * @param projectId */ AssProject checkProjectDataScope(Long projectId); /** * 获取项目当前的项目过程状态 * @param projectId * @return */ Integer getProjectReportProgress(Long projectId); /** * 检验项目名称是否唯一 * @param project * @return */ boolean checkNameUnique(AssProject project); /** * 校验项目状态 * @param projectId * @param reportProgressEnum 项目状态 * @return */ void checkReportProgress(Long projectId, ReportProgressEnum reportProgressEnum); /** * 修改项目状态 * @param projectId * @param reportProgressEnum * @return */ int changeReportProgress(Long projectId,ReportProgressEnum reportProgressEnum); /** * 根据项目成员获取项目列表 分页(供app使用) * @param personId * @param finish * @return */ CommonPage memberProjects(Long personId,Integer finish); /** * 根据项目组长id获取项目列表 分页(供app使用) * @param personId * @return */ CommonPage leaderProjects(Long personId); /** * 项目统计 * @return */ ProjectStaticVO projectStat(AssProject project); /** * 获取项目agencyId * @param projectId * @return */ Long getProjectAgencyId(Long projectId); /** * 校验当前用户是否拥有操作项目权限 * @param projectId */ void checkUserAllowed(Long projectId); }