package org.jeecg.modules.dnc.service.impl;
|
|
import org.jeecg.modules.dnc.dto.TransferPackage;
|
import org.jeecg.modules.dnc.entity.DocRelative;
|
import org.jeecg.modules.dnc.entity.ProcessSpecVersion;
|
import org.jeecg.modules.dnc.mapper.DeviceTypeMapper;
|
import org.jeecg.modules.dnc.mapper.DocRelativeMapper;
|
import org.jeecg.modules.dnc.mapper.ProcessSpecVersionMapper;
|
import org.jeecg.modules.dnc.service.DataPackageStrategy;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
public class ProcessSpecVersionPackageStrategy implements DataPackageStrategy {
|
@Autowired
|
private ProcessSpecVersionMapper processSpecVersionMapper;
|
@Autowired
|
private DeviceTypeMapper deviceTypeMapper;
|
@Autowired
|
private FullHierarchyTraceService traceService;
|
@Autowired
|
private DocRelativeMapper docRelativeMapper;
|
|
@Override
|
public TransferPackage packageData(String relativeId) {
|
DocRelative docRelative=docRelativeMapper.selectById(relativeId);
|
ProcessSpecVersion processSpecVersion=processSpecVersionMapper.selectById(docRelative.getAttributionId());
|
if (processSpecVersion == null) {
|
throw new IllegalArgumentException("对应的工艺规程版本不存在: " + docRelative.getAttributionId());
|
}
|
return TransferPackage.builder()
|
.dataType(TransferPackage.DataType.PROCESS)
|
.docRelative(docRelative)
|
.traceChain(traceService.traceFromPsv(docRelative))
|
.build();
|
}
|
}
|