fix(export): 修复检验项目导出时物料类别字段显示问题
- 将导出DTO中的materialTypeId字段改为materialTypeCode字符串类型 - 更新Excel列标题从"物料类别ID*"为"物料类别*" - 在导出服务中通过关联查询获取物料类别编码并设置到导出对象 - 修复详情流处理中的物料类别赋值逻辑 - 清理VO转换中的多余空行代码格式化
This commit is contained in:
parent
76c3ee5a74
commit
b400f0a1a7
|
|
@ -11,10 +11,10 @@ import org.ttzero.excel.annotation.MediaColumn;
|
|||
public class QmsInspectionItemExportDTO {
|
||||
|
||||
/**
|
||||
* 物料类别ID
|
||||
* 物料类别
|
||||
*/
|
||||
@ExcelColumn("物料类别ID*")
|
||||
private Long materialTypeId;
|
||||
@ExcelColumn("物料类别*")
|
||||
private String materialTypeCode;
|
||||
|
||||
/**
|
||||
* 检测类型:0=定向,1=定量
|
||||
|
|
|
|||
|
|
@ -247,12 +247,20 @@ public class QmsInspectionItemServiceImpl extends ServiceImpl<QmsInspectionItemM
|
|||
}
|
||||
List<QmsInspectionItem> items = query.orderByAsc(QmsInspectionItem::getCreateTime).list();
|
||||
|
||||
List<QmsQcMaterialCategory> categories= materialCategoryService.lambdaQuery()
|
||||
.in(QmsQcMaterialCategory::getId, items.stream().map(QmsInspectionItem::getMaterialTypeId).collect(Collectors.toList()))
|
||||
.list();
|
||||
|
||||
// 按主表记录展开到明细行(一行一条明细,无明细也输出主表行)
|
||||
return items.stream().flatMap(item -> {
|
||||
List<QmsInspectionItemDetails> details = detailsService.listByItemId(item.getId());
|
||||
QmsQcMaterialCategory category=categories.stream()
|
||||
.filter(c -> c.getId().equals(item.getMaterialTypeId()))
|
||||
.findFirst()
|
||||
.get();
|
||||
if (details.isEmpty()) {
|
||||
QmsInspectionItemExportDTO dto = new QmsInspectionItemExportDTO();
|
||||
dto.setMaterialTypeId(item.getMaterialTypeId());
|
||||
dto.setMaterialTypeCode(category.getCategoryCode());
|
||||
dto.setDetectionType(item.getDetectionType());
|
||||
dto.setInspectionItemName(item.getInspectionItemName());
|
||||
dto.setInspectionNo(item.getInspectionNo());
|
||||
|
|
@ -260,7 +268,7 @@ public class QmsInspectionItemServiceImpl extends ServiceImpl<QmsInspectionItemM
|
|||
}
|
||||
return details.stream().map(d -> {
|
||||
QmsInspectionItemExportDTO dto = new QmsInspectionItemExportDTO();
|
||||
dto.setMaterialTypeId(item.getMaterialTypeId());
|
||||
dto.setMaterialTypeCode(category.getCategoryCode());
|
||||
dto.setDetectionType(item.getDetectionType());
|
||||
dto.setInspectionItemName(item.getInspectionItemName());
|
||||
dto.setInspectionNo(item.getInspectionNo());
|
||||
|
|
@ -359,7 +367,7 @@ public class QmsInspectionItemServiceImpl extends ServiceImpl<QmsInspectionItemM
|
|||
QmsInspectionItemVO vo = new QmsInspectionItemVO();
|
||||
vo.setId(item.getId());
|
||||
vo.setMaterialTypeId(item.getMaterialTypeId());
|
||||
|
||||
|
||||
// 查询物料类别名称
|
||||
if (Objects.nonNull(item.getMaterialTypeId())) {
|
||||
QmsQcMaterialCategory category = materialCategoryService.getById(item.getMaterialTypeId());
|
||||
|
|
@ -367,7 +375,7 @@ public class QmsInspectionItemServiceImpl extends ServiceImpl<QmsInspectionItemM
|
|||
vo.setMaterialCategoryName(category.getCategoryName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
vo.setDetectionType(item.getDetectionType());
|
||||
vo.setInspectionItemName(item.getInspectionItemName());
|
||||
vo.setInspectionNo(item.getInspectionNo());
|
||||
|
|
|
|||
Loading…
Reference in New Issue