2 天以前 111270df037596a04df97f787ca8b9199dd99866
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
package cn.iocoder.yudao.module.mes.service.pd.project;
 
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.mes.controller.admin.pd.project.vo.MesPdProjectPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pd.project.vo.MesPdProjectSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pd.project.MesPdProjectDO;
import jakarta.validation.Valid;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
 * MES 设计项目 Service 接口
 *
 * @author 芋道源码
 */
public interface MesPdProjectService {
 
    /**
     * 创建设计项目
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createProject(@Valid MesPdProjectSaveReqVO createReqVO);
 
    /**
     * 更新设计项目
     *
     * @param updateReqVO 更新信息
     */
    void updateProject(@Valid MesPdProjectSaveReqVO updateReqVO);
 
    /**
     * 删除设计项目
     *
     * @param id 编号
     */
    void deleteProject(Long id);
 
    /**
     * 校验设计项目是否存在
     *
     * @param id 编号
     * @return 设计项目
     */
    MesPdProjectDO validateProjectExists(Long id);
 
    /**
     * 获得设计项目
     *
     * @param id 编号
     * @return 设计项目
     */
    MesPdProjectDO getProject(Long id);
 
    /**
     * 获得设计项目分页
     *
     * @param pageReqVO 分页查询
     * @return 设计项目分页
     */
    PageResult<MesPdProjectDO> getProjectPage(MesPdProjectPageReqVO pageReqVO);
 
    /**
     * 发布设计项目(待发布→待上传)
     *
     * @param id 编号
     */
    void publishProject(Long id);
 
    /**
     * 上传资料(待上传→待审核)
     * <p>
     * 同时自动为该项目下所有资料创建审核记录
     *
     * @param id     编号
     * @param userId 当前登录用户ID
     */
    void uploadProject(Long id, Long userId);
 
    /**
     * 审核设计项目(待审核→待归档)
     *
     * @param id 编号
     */
    void auditProject(Long id);
 
    /**
     * 归档设计项目(待归档→已归档)
     * <p>
     * 同时自动创建归档台账记录
     *
     * @param id     编号
     * @param userId 当前登录用户ID
     */
    void archiveProject(Long id, Long userId);
 
    /**
     * 批量获取设计项目 Map
     *
     * @param ids 编号集合
     * @return 设计项目 Map
     */
    Map<Long, MesPdProjectDO> getProjectMap(Collection<Long> ids);
 
    List<MesPdProjectDO> getProjectByProductCode(String productCode);
 
}