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);
|
|
}
|