package cn.iocoder.yudao.module.mes.service.pd.document;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.mes.controller.admin.pd.document.vo.MesPdDocumentPageReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.pd.document.vo.MesPdDocumentSaveReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.pd.document.MesPdDocumentDO;
|
import cn.iocoder.yudao.module.mes.dal.mysql.pd.document.MesPdDocumentMapper;
|
import cn.iocoder.yudao.module.mes.service.pd.project.MesPdProjectService;
|
import jakarta.annotation.Resource;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
|
import java.util.List;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.PD_DOCUMENT_NOT_EXISTS;
|
|
/**
|
* MES 设计资料 Service 实现类
|
*
|
* @author 芋道源码
|
*/
|
@Service
|
@Validated
|
public class MesPdDocumentServiceImpl implements MesPdDocumentService {
|
|
@Resource
|
private MesPdDocumentMapper documentMapper;
|
|
@Resource
|
@Lazy
|
private MesPdProjectService projectService;
|
|
@Override
|
public Long createDocument(MesPdDocumentSaveReqVO createReqVO) {
|
// 校验设计项目存在
|
projectService.validateProjectExists(createReqVO.getProjectId());
|
// 插入
|
MesPdDocumentDO document = BeanUtils.toBean(createReqVO, MesPdDocumentDO.class);
|
documentMapper.insert(document);
|
return document.getId();
|
}
|
|
@Override
|
public void updateDocument(MesPdDocumentSaveReqVO updateReqVO) {
|
// 校验存在
|
validateDocumentExists(updateReqVO.getId());
|
// 更新
|
MesPdDocumentDO updateObj = BeanUtils.toBean(updateReqVO, MesPdDocumentDO.class);
|
documentMapper.updateById(updateObj);
|
}
|
|
@Override
|
public void deleteDocument(Long id) {
|
// 校验存在
|
validateDocumentExists(id);
|
// 删除
|
documentMapper.deleteById(id);
|
}
|
|
@Override
|
public MesPdDocumentDO getDocument(Long id) {
|
return documentMapper.selectById(id);
|
}
|
|
@Override
|
public PageResult<MesPdDocumentDO> getDocumentPage(MesPdDocumentPageReqVO pageReqVO) {
|
return documentMapper.selectPage(pageReqVO);
|
}
|
|
@Override
|
public List<MesPdDocumentDO> getDocumentListByProjectId(Long projectId) {
|
return documentMapper.selectListByProjectId(projectId);
|
}
|
|
@Override
|
public void deleteByProjectId(Long projectId) {
|
documentMapper.deleteByProjectId(projectId);
|
}
|
|
private MesPdDocumentDO validateDocumentExists(Long id) {
|
MesPdDocumentDO document = documentMapper.selectById(id);
|
if (document == null) {
|
throw exception(PD_DOCUMENT_NOT_EXISTS);
|
}
|
return document;
|
}
|
|
}
|