heheng
2025-03-27 5d2cfd4562f74496a5263db3451c1e78ff53aead
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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;
 
/**
 * <p>
 * 项目表 服务类
 * </p>
 *
 * @author kzy
 * @since 2023-12-11 14:16:18
 */
public interface AssProjectService extends IService<AssProject> {
 
    /**
     * 根据条件分页查询项目列表
     * @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);
}