feat(inspection): 新增来料检验任务记录及子项详情查询接口
- 新增接口以查询指定任务ID的来料检验任务检验记录,包含记录项和检验数据 - 新增接口以查询指定检验记录ID的检验记录子项列表,包含样本数据详情 - 引入相关VO类用于返回结构化的检验记录、检验项及检验数据 - 查询过程中关联检验标准项内容及检验标准项,丰富返回的数据内容 - 实现数据分组与映射,保证接口返回数据完整且结构清晰 - QmsIncomingInspectionTaskController增加对应REST接口支持前端调用
This commit is contained in:
parent
8acd4fa0ff
commit
818db2cc57
|
|
@ -6,6 +6,8 @@ import com.nflg.wms.common.pojo.PageData;
|
|||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCountVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO;
|
||||
import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecord;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
|
|
@ -42,6 +44,14 @@ public class QmsIncomingInspectionTaskController extends BaseController {
|
|||
return ApiResult.success(incomingInspectionTaskControllerService.getDetail(id));
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 查询来料检验任务检验记录(含检验项和检验数据)
|
||||
// */
|
||||
// @GetMapping("records")
|
||||
// public ApiResult<List<QmsIncomingInspectionTaskRecordVO>> getInspectionRecords(@RequestParam Long taskId) {
|
||||
// return ApiResult.success(incomingInspectionTaskControllerService.getInspectionRecords(taskId));
|
||||
// }
|
||||
|
||||
/**
|
||||
* 转办
|
||||
*/
|
||||
|
|
@ -51,6 +61,22 @@ public class QmsIncomingInspectionTaskController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询来料检测任务记录
|
||||
*/
|
||||
@GetMapping("records")
|
||||
public ApiResult<List<QmsIncomingInspectionTaskRecord>> getRecords(@RequestParam Long taskId){
|
||||
return ApiResult.success(incomingInspectionTaskControllerService.getRecords(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询来料检验任务检验记录子项列表(含样本列表)
|
||||
*/
|
||||
@GetMapping("record-items")
|
||||
public ApiResult<List<QmsIncomingInspectionTaskRecordItemDetailVO>> getRecordItems(@RequestParam Long recordId){
|
||||
return ApiResult.success(incomingInspectionTaskControllerService.getInspectionRecordItems(recordId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前登录用户的待检验任务列表
|
||||
*/
|
||||
|
|
@ -67,14 +93,6 @@ public class QmsIncomingInspectionTaskController extends BaseController {
|
|||
return ApiResult.success(incomingInspectionTaskControllerService.countByCurrentUser());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询来料检测任务记录
|
||||
*/
|
||||
@GetMapping("pad/records")
|
||||
public ApiResult<List<QmsIncomingInspectionTaskRecord>> getRecords(@RequestParam Long taskId){
|
||||
return ApiResult.success(incomingInspectionTaskControllerService.getRecords(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询待检测项
|
||||
*/
|
||||
|
|
@ -113,4 +131,5 @@ public class QmsIncomingInspectionTaskController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,10 @@ import com.nflg.wms.common.pojo.qo.*;
|
|||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckItemVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCountVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDataVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
|
|
@ -24,7 +28,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 来料检测任务 Controller 服务
|
||||
|
|
@ -93,6 +100,9 @@ public class IncomingInspectionTaskControllerService {
|
|||
@Resource
|
||||
private IQmsCodeLetterMatrixService codeLetterMatrixService;
|
||||
|
||||
@Resource
|
||||
private IQmsInspectionStandardItemContentService inspectionStandardItemContentService;
|
||||
|
||||
/**
|
||||
* 来料检验申请(对外接口)
|
||||
* 业务规则:
|
||||
|
|
@ -590,6 +600,116 @@ public class IncomingInspectionTaskControllerService {
|
|||
.list();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询来料检验任务检验记录(含检验项和检验数据)
|
||||
*/
|
||||
public List<QmsIncomingInspectionTaskRecordVO> getInspectionRecords(Long taskId) {
|
||||
// 1. 查询该任务下所有检验记录
|
||||
List<QmsIncomingInspectionTaskRecord> records = incomingInspectionTaskRecordService.lambdaQuery()
|
||||
.eq(QmsIncomingInspectionTaskRecord::getTaskId, taskId)
|
||||
.list();
|
||||
|
||||
if (CollectionUtil.isEmpty(records)) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 2. 收集所有记录ID
|
||||
List<Long> recordIds = records.stream()
|
||||
.map(QmsIncomingInspectionTaskRecord::getId)
|
||||
.toList();
|
||||
|
||||
// 3. 查询所有记录下的检验项
|
||||
List<QmsIncomingInspectionTaskRecordItem> allItems = incomingInspectionTaskRecordItemService.lambdaQuery()
|
||||
.in(QmsIncomingInspectionTaskRecordItem::getRecordId, recordIds)
|
||||
.list();
|
||||
|
||||
// 4. 收集所有检验项ID,并构建 recordId -> items 映射
|
||||
Map<Long, List<QmsIncomingInspectionTaskRecordItem>> recordItemMap = allItems.stream()
|
||||
.collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItem::getRecordId));
|
||||
|
||||
// 5. 查询检验标准项内容(获取检测项名称、标准等信息)
|
||||
List<Long> contentIds = allItems.stream()
|
||||
.map(QmsIncomingInspectionTaskRecordItem::getInspectionStandardItemContentId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.toList();
|
||||
Map<Long, QmsInspectionStandardItemContent> contentMap = Map.of();
|
||||
if (!contentIds.isEmpty()) {
|
||||
contentMap = inspectionStandardItemContentService.lambdaQuery()
|
||||
.in(QmsInspectionStandardItemContent::getId, contentIds)
|
||||
.list()
|
||||
.stream()
|
||||
.collect(Collectors.toMap(QmsInspectionStandardItemContent::getId, Function.identity()));
|
||||
}
|
||||
|
||||
// 6. 查询所有检验项下的检验数据
|
||||
List<Long> itemIds = allItems.stream()
|
||||
.map(QmsIncomingInspectionTaskRecordItem::getId)
|
||||
.toList();
|
||||
Map<Long, List<QmsIncomingInspectionTaskRecordItemData>> itemDataMap = Map.of();
|
||||
if (!itemIds.isEmpty()) {
|
||||
itemDataMap = incomingInspectionTaskRecordItemDataService.lambdaQuery()
|
||||
.in(QmsIncomingInspectionTaskRecordItemData::getItemId, itemIds)
|
||||
.list()
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItemData::getItemId));
|
||||
}
|
||||
|
||||
// 7. 组装返回VO
|
||||
Map<Long, QmsInspectionStandardItemContent> finalContentMap = contentMap;
|
||||
Map<Long, List<QmsIncomingInspectionTaskRecordItemData>> finalItemDataMap = itemDataMap;
|
||||
return records.stream().map(record -> {
|
||||
QmsIncomingInspectionTaskRecordVO vo = new QmsIncomingInspectionTaskRecordVO();
|
||||
vo.setId(record.getId());
|
||||
vo.setTaskId(record.getTaskId());
|
||||
vo.setMaterialUniqueNo(record.getMaterialUniqueNo());
|
||||
vo.setQualified(record.getQualified());
|
||||
vo.setInspectionQty(record.getInspectionQty());
|
||||
vo.setQualifiedQty(record.getQualifiedQty());
|
||||
vo.setUnqualifiedQty(record.getUnqualifiedQty());
|
||||
vo.setCreateUserId(record.getCreateUserId());
|
||||
vo.setCreateUserName(record.getCreateUserName());
|
||||
vo.setCreateTime(record.getCreateTime());
|
||||
|
||||
// 组装检验项
|
||||
List<QmsIncomingInspectionTaskRecordItem> items = recordItemMap.getOrDefault(record.getId(), List.of());
|
||||
List<QmsIncomingInspectionTaskRecordItemVO> itemVOs = items.stream().map(item -> {
|
||||
QmsIncomingInspectionTaskRecordItemVO itemVO = new QmsIncomingInspectionTaskRecordItemVO();
|
||||
itemVO.setId(item.getId());
|
||||
itemVO.setRecordId(item.getRecordId());
|
||||
itemVO.setInspectionStandardItemContentId(item.getInspectionStandardItemContentId());
|
||||
itemVO.setRemark(item.getRemark());
|
||||
|
||||
// 填充检验标准项内容信息
|
||||
QmsInspectionStandardItemContent content = finalContentMap.get(item.getInspectionStandardItemContentId());
|
||||
if (content != null) {
|
||||
itemVO.setName(content.getName());
|
||||
itemVO.setTestStandard(content.getTestStandard());
|
||||
itemVO.setJudgmentType(content.getJudgmentType());
|
||||
}
|
||||
|
||||
// 组装检验数据
|
||||
List<QmsIncomingInspectionTaskRecordItemData> datas = finalItemDataMap.getOrDefault(item.getId(), List.of());
|
||||
List<QmsIncomingInspectionTaskRecordItemDataVO> dataVOs = datas.stream().map(data -> {
|
||||
QmsIncomingInspectionTaskRecordItemDataVO dataVO = new QmsIncomingInspectionTaskRecordItemDataVO();
|
||||
dataVO.setId(data.getId());
|
||||
dataVO.setTaskId(data.getTaskId());
|
||||
dataVO.setItemId(data.getItemId());
|
||||
dataVO.setMeasuredValue(data.getMeasuredValue());
|
||||
dataVO.setQualified(data.getQualified());
|
||||
dataVO.setImages(StrUtil.isNotBlank(data.getImages())
|
||||
? List.of(data.getImages().split(","))
|
||||
: List.of());
|
||||
return dataVO;
|
||||
}).toList();
|
||||
itemVO.setDatas(dataVOs);
|
||||
return itemVO;
|
||||
}).toList();
|
||||
vo.setItems(itemVOs);
|
||||
return vo;
|
||||
}).toList();
|
||||
}
|
||||
|
||||
public QmsIncomingInspectionTaskCheckDetailVO getItemsForCheck(@Valid QmsIncomingInspectionTaskTodoCheckItemsQO request) {
|
||||
QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId());
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在");
|
||||
|
|
@ -779,4 +899,115 @@ public class IncomingInspectionTaskControllerService {
|
|||
//TODO
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询来料检验任务检验记录子项列表(含样本列表)
|
||||
* @param recordId 检验记录ID
|
||||
* @return 检验记录子项列表,每个子项包含其下的样本数据
|
||||
*/
|
||||
public List<QmsIncomingInspectionTaskRecordItemDetailVO> getInspectionRecordItems(Long recordId) {
|
||||
// 1. 查询该记录下的所有检验项
|
||||
List<QmsIncomingInspectionTaskRecordItem> items = incomingInspectionTaskRecordItemService.lambdaQuery()
|
||||
.eq(QmsIncomingInspectionTaskRecordItem::getRecordId, recordId)
|
||||
.list();
|
||||
|
||||
if (CollectionUtil.isEmpty(items)) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
// 2. 收集所有检验标准项内容ID,查询检验标准项内容(获取检测项名称、标准等信息)
|
||||
List<Long> contentIds = items.stream()
|
||||
.map(QmsIncomingInspectionTaskRecordItem::getInspectionStandardItemContentId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.toList();
|
||||
Map<Long, QmsInspectionStandardItemContent> contentMap = Map.of();
|
||||
if (!contentIds.isEmpty()) {
|
||||
contentMap = inspectionStandardItemContentService.lambdaQuery()
|
||||
.in(QmsInspectionStandardItemContent::getId, contentIds)
|
||||
.list()
|
||||
.stream()
|
||||
.collect(Collectors.toMap(QmsInspectionStandardItemContent::getId, Function.identity()));
|
||||
}
|
||||
|
||||
// 3. 收集所有检验标准项ID,查询检验标准项(获取检验标准项类型和名称)
|
||||
List<Long> standardItemIds = contentMap.values().stream()
|
||||
.map(QmsInspectionStandardItemContent::getInspectionStandardItemId)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.toList();
|
||||
Map<Long, QmsInspectionStandardItem> standardItemMap = Map.of();
|
||||
if (!standardItemIds.isEmpty()) {
|
||||
standardItemMap = inspectionStandardItemService.lambdaQuery()
|
||||
.in(QmsInspectionStandardItem::getId, standardItemIds)
|
||||
.list()
|
||||
.stream()
|
||||
.collect(Collectors.toMap(QmsInspectionStandardItem::getId, Function.identity()));
|
||||
}
|
||||
|
||||
// 4. 查询所有检验项下的检验数据(样本)
|
||||
List<Long> itemIds = items.stream()
|
||||
.map(QmsIncomingInspectionTaskRecordItem::getId)
|
||||
.toList();
|
||||
Map<Long, List<QmsIncomingInspectionTaskRecordItemData>> itemDataMap = Map.of();
|
||||
if (!itemIds.isEmpty()) {
|
||||
itemDataMap = incomingInspectionTaskRecordItemDataService.lambdaQuery()
|
||||
.in(QmsIncomingInspectionTaskRecordItemData::getItemId, itemIds)
|
||||
.list()
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(QmsIncomingInspectionTaskRecordItemData::getItemId));
|
||||
}
|
||||
|
||||
// 5. 组装返回VO
|
||||
Map<Long, QmsInspectionStandardItemContent> finalContentMap = contentMap;
|
||||
Map<Long, QmsInspectionStandardItem> finalStandardItemMap = standardItemMap;
|
||||
Map<Long, List<QmsIncomingInspectionTaskRecordItemData>> finalItemDataMap = itemDataMap;
|
||||
return items.stream().map(item -> {
|
||||
QmsIncomingInspectionTaskRecordItemDetailVO vo = new QmsIncomingInspectionTaskRecordItemDetailVO();
|
||||
vo.setId(item.getId());
|
||||
vo.setRecordId(item.getRecordId());
|
||||
vo.setInspectionStandardItemContentId(item.getInspectionStandardItemContentId());
|
||||
vo.setRemark(item.getRemark());
|
||||
|
||||
// 填充检验标准项内容信息
|
||||
QmsInspectionStandardItemContent content = finalContentMap.get(item.getInspectionStandardItemContentId());
|
||||
if (content != null) {
|
||||
vo.setTestStandard(content.getTestStandard());
|
||||
vo.setJudgmentType(content.getJudgmentType());
|
||||
|
||||
// 根据检验标准项类型设置检测项名称
|
||||
QmsInspectionStandardItem standardItem = finalStandardItemMap.get(content.getInspectionStandardItemId());
|
||||
if (standardItem != null) {
|
||||
// 检验标准项类型:0-标准检测项,1-尺寸检测项
|
||||
if (standardItem.getItemType() != null && standardItem.getItemType() == 0) {
|
||||
// 标准检测项:使用检验标准项的名称
|
||||
vo.setName(standardItem.getName());
|
||||
} else {
|
||||
// 尺寸检测项:使用检验内容的名称
|
||||
vo.setName(content.getName());
|
||||
}
|
||||
} else {
|
||||
// 如果找不到检验标准项,默认使用检验内容的名称
|
||||
vo.setName(content.getName());
|
||||
}
|
||||
}
|
||||
|
||||
// 组装检验数据(样本)
|
||||
List<QmsIncomingInspectionTaskRecordItemData> datas = finalItemDataMap.getOrDefault(item.getId(), List.of());
|
||||
List<QmsIncomingInspectionTaskRecordItemDataVO> dataVOs = datas.stream().map(data -> {
|
||||
QmsIncomingInspectionTaskRecordItemDataVO dataVO = new QmsIncomingInspectionTaskRecordItemDataVO();
|
||||
dataVO.setId(data.getId());
|
||||
dataVO.setTaskId(data.getTaskId());
|
||||
dataVO.setItemId(data.getItemId());
|
||||
dataVO.setMeasuredValue(data.getMeasuredValue());
|
||||
dataVO.setQualified(data.getQualified());
|
||||
dataVO.setImages(StrUtil.isNotBlank(data.getImages())
|
||||
? List.of(data.getImages().split(","))
|
||||
: List.of());
|
||||
return dataVO;
|
||||
}).toList();
|
||||
vo.setDatas(dataVOs);
|
||||
return vo;
|
||||
}).toList();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class QmsIncomingInspectionTaskRecordItemDataVO {
|
||||
|
||||
/**
|
||||
* 记录项数据ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 来料检测任务ID
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 来料检测任务记录项ID
|
||||
*/
|
||||
private Long itemId;
|
||||
|
||||
/**
|
||||
* 测量值
|
||||
*/
|
||||
private BigDecimal measuredValue;
|
||||
|
||||
/**
|
||||
* 是否合格
|
||||
*/
|
||||
private Boolean qualified;
|
||||
|
||||
/**
|
||||
* 图片列表
|
||||
*/
|
||||
private List<String> images;
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 来料检验任务检验记录子项详情VO
|
||||
* 包含检验记录子项及其下的样本列表
|
||||
*/
|
||||
@Data
|
||||
public class QmsIncomingInspectionTaskRecordItemDetailVO {
|
||||
|
||||
/**
|
||||
* 记录项ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 来料检测任务记录ID
|
||||
*/
|
||||
private Long recordId;
|
||||
|
||||
/**
|
||||
* 检验标准项内容ID
|
||||
*/
|
||||
private Long inspectionStandardItemContentId;
|
||||
|
||||
/**
|
||||
* 检测项名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 检测标准
|
||||
*/
|
||||
private String testStandard;
|
||||
|
||||
/**
|
||||
* 判定类型,0:直接判定;1:测量值
|
||||
*/
|
||||
private Integer judgmentType;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 检测数据列表(样本列表)
|
||||
*/
|
||||
private List<QmsIncomingInspectionTaskRecordItemDataVO> datas;
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class QmsIncomingInspectionTaskRecordItemVO {
|
||||
|
||||
/**
|
||||
* 记录项ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 来料检测任务记录ID
|
||||
*/
|
||||
private Long recordId;
|
||||
|
||||
/**
|
||||
* 检验标准项内容ID
|
||||
*/
|
||||
private Long inspectionStandardItemContentId;
|
||||
|
||||
/**
|
||||
* 检测项名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 检测标准
|
||||
*/
|
||||
private String testStandard;
|
||||
|
||||
/**
|
||||
* 判定类型,0:直接判定;1:测量值
|
||||
*/
|
||||
private Integer judgmentType;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 检测数据列表
|
||||
*/
|
||||
private List<QmsIncomingInspectionTaskRecordItemDataVO> datas;
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class QmsIncomingInspectionTaskRecordVO {
|
||||
|
||||
/**
|
||||
* 检验记录ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 来料检测任务ID
|
||||
*/
|
||||
private Long taskId;
|
||||
|
||||
/**
|
||||
* 物料唯一码
|
||||
*/
|
||||
private String materialUniqueNo;
|
||||
|
||||
/**
|
||||
* 是否合格
|
||||
*/
|
||||
private Boolean qualified;
|
||||
|
||||
/**
|
||||
* 样本数量
|
||||
*/
|
||||
private Integer inspectionQty;
|
||||
|
||||
/**
|
||||
* 合格数量
|
||||
*/
|
||||
private Integer qualifiedQty;
|
||||
|
||||
/**
|
||||
* 不合格数量
|
||||
*/
|
||||
private Integer unqualifiedQty;
|
||||
|
||||
/**
|
||||
* 创建人ID
|
||||
*/
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String createUserName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 检验记录项列表
|
||||
*/
|
||||
private List<QmsIncomingInspectionTaskRecordItemVO> items;
|
||||
}
|
||||
Loading…
Reference in New Issue