feat(incoming-inspection): 添加二维码验证功能到检验任务检查接口

- 移除 getItemsForCheck 方法中的 @Valid 注解
- 添加二维码唯一编号字段到 QmsIncomingInspectionTaskTodoCheckItemsQO 类
- 在 getItemsForCheck 方法中增加二维码验证逻辑
- 验证二维码唯一编号是否为空的业务错误
- 验证二维码唯一编号是否有效的业务规则
- 根据任务ID查询并验证二维码列表中的匹配关系
This commit is contained in:
曹鹏飞 2026-06-05 15:11:41 +08:00
parent b0f937e72a
commit fbf30750da
2 changed files with 12 additions and 1 deletions

View File

@ -859,9 +859,15 @@ public class IncomingInspectionTaskControllerService {
// }).toList(); // }).toList();
// } // }
public QmsIncomingInspectionTaskCheckDetailVO getItemsForCheck(@Valid QmsIncomingInspectionTaskTodoCheckItemsQO request) { public QmsIncomingInspectionTaskCheckDetailVO getItemsForCheck(QmsIncomingInspectionTaskTodoCheckItemsQO request) {
QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId()); QmsIncomingInspectionTask task = incomingInspectionTaskService.getById(request.getTaskId());
VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在"); VUtil.trueThrowBusinessError(Objects.isNull(task)).throwMessage("任务不存在");
List<QmsIncomingInspectionTaskQr> qrs = incomingInspectionTaskQrService.lambdaQuery().eq(QmsIncomingInspectionTaskQr::getTaskId, task.getId()).list();
if (CollectionUtil.isNotEmpty(qrs)) {
VUtil.trueThrowBusinessError(StrUtil.isBlank(request.getQrCode())).throwMessage("二维码唯一编号不能为空");
VUtil.trueThrowBusinessError(qrs.stream().noneMatch(qr -> qr.getMaterialQrCode().equals(request.getQrCode())))
.throwMessage("无效的二维码唯一编号");
}
QmsInspectionStandard standard = inspectionStandardService.getById(task.getInspectionStandardId()); QmsInspectionStandard standard = inspectionStandardService.getById(task.getInspectionStandardId());
VUtil.trueThrowBusinessError(Objects.isNull(standard)).throwMessage("检验标准不存在"); VUtil.trueThrowBusinessError(Objects.isNull(standard)).throwMessage("检验标准不存在");
List<QmsIncomingInspectionTaskCheckItemVO> datas = inspectionStandardService.getItemsForCheck(standard.getId()); List<QmsIncomingInspectionTaskCheckItemVO> datas = inspectionStandardService.getItemsForCheck(standard.getId());

View File

@ -17,4 +17,9 @@ public class QmsIncomingInspectionTaskTodoCheckItemsQO {
*/ */
@NotNull(message = "数量不能为空") @NotNull(message = "数量不能为空")
private Integer num; private Integer num;
/**
* 二维码唯一编号
*/
private String qrCode;
} }