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.ProductInfo;
|
import org.jeecg.modules.dnc.mapper.DeviceTypeMapper;
|
import org.jeecg.modules.dnc.mapper.DocRelativeMapper;
|
import org.jeecg.modules.dnc.mapper.ProductInfoMapper;
|
import org.jeecg.modules.dnc.service.DataPackageStrategy;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
public class ProductPackageStrategy implements DataPackageStrategy {
|
@Autowired
|
private ProductInfoMapper productInfoMapper;
|
@Autowired
|
private DeviceTypeMapper deviceTypeMapper;
|
@Autowired
|
private FullHierarchyTraceService traceService;
|
@Autowired
|
private DocRelativeMapper docRelativeMapper;
|
|
@Override
|
public TransferPackage packageData(String relativeId) {
|
DocRelative docRelative=docRelativeMapper.selectById(relativeId);
|
ProductInfo productInfo=productInfoMapper.selectById(docRelative.getAttributionId());
|
if (productInfo == null) {
|
throw new IllegalArgumentException("对应的产品不存在: " + docRelative.getAttributionId());
|
}
|
return TransferPackage.builder()
|
.dataType(TransferPackage.DataType.PRODUCT)
|
.docRelative(docRelative)
|
.traceChain(traceService.traceFromProduct(docRelative))
|
.build();
|
}
|
}
|