fix(inspection): 修复来料检验任务查询权限检查问题

- 添加了Page和PageData导入依赖
- 修改todoSearch方法中权限检查逻辑,当用户非质检人员时返回空分页数据而非抛出异常
- 修改countByCurrentUser方法中权限检查逻辑,当用户非质检人员时返回空计数对象而非抛出异常
- 在WmsIncomingInspectionTaskCallbackQO中添加requestNo字段并添加NotBlank注解验证
- 在回调服务中设置requestNo字段值用于第三方系统唯一标识请求单号
This commit is contained in:
曹鹏飞 2026-06-14 17:02:25 +08:00
parent 085349bd08
commit 4c7f64565e
3 changed files with 15 additions and 4 deletions

View File

@ -4,8 +4,10 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.constant.STATE; import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.exception.NflgException; import com.nflg.wms.common.exception.NflgException;
import com.nflg.wms.common.pojo.PageData;
import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.*; import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
@ -738,8 +740,9 @@ public class IncomingInspectionTaskControllerService {
.eq(QmsQualityInspector::getInspectionType, 1) .eq(QmsQualityInspector::getInspectionType, 1)
.last("LIMIT 1") .last("LIMIT 1")
.one(); .one();
VUtil.trueThrowBusinessError(Objects.isNull(inspector)) if (Objects.isNull(inspector)){
.throwMessage("当前用户不是质检人员,无法查询待检验任务"); return Page.of(0,0,0);
}
return incomingInspectionTaskService.todoSearch(request, inspector.getId()); return incomingInspectionTaskService.todoSearch(request, inspector.getId());
} }
@ -755,8 +758,9 @@ public class IncomingInspectionTaskControllerService {
.eq(QmsQualityInspector::getInspectionType, 1) .eq(QmsQualityInspector::getInspectionType, 1)
.last("LIMIT 1") .last("LIMIT 1")
.one(); .one();
VUtil.trueThrowBusinessError(Objects.isNull(inspector)) if (Objects.isNull(inspector)){
.throwMessage("当前用户不是质检人员,无法查询任务数量"); return new QmsIncomingInspectionTaskCountVO();
}
return incomingInspectionTaskService.countByCurrentUser(inspector.getId()); return incomingInspectionTaskService.countByCurrentUser(inspector.getId());
} }

View File

@ -58,6 +58,7 @@ public class WmsIncomingInspectionTaskCallbackService {
private void incoming(QmsIncomingInspectionTaskVO taskVO, Short processingResult) { private void incoming(QmsIncomingInspectionTaskVO taskVO, Short processingResult) {
WmsIncomingInspectionTaskCallbackQO qo = new WmsIncomingInspectionTaskCallbackQO() WmsIncomingInspectionTaskCallbackQO qo = new WmsIncomingInspectionTaskCallbackQO()
.setTaskNo(taskVO.getTaskNo()) .setTaskNo(taskVO.getTaskNo())
.setRequestNo(taskVO.getRequestNo())
.setInspectionType(taskVO.getInspectionType()) .setInspectionType(taskVO.getInspectionType())
.setMaterialNo(taskVO.getMaterialNo()) .setMaterialNo(taskVO.getMaterialNo())
.setSupplierCode(taskVO.getSupplierCode()) .setSupplierCode(taskVO.getSupplierCode())

View File

@ -1,6 +1,7 @@
package com.nflg.wms.common.pojo.qo; package com.nflg.wms.common.pojo.qo;
import com.nflg.wms.common.pojo.dto.MaterialQrCodeDTO; import com.nflg.wms.common.pojo.dto.MaterialQrCodeDTO;
import jakarta.validation.constraints.NotBlank;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -15,6 +16,11 @@ public class WmsIncomingInspectionTaskCallbackQO {
*/ */
private String taskNo; private String taskNo;
/**
* 请求单号第三方唯一编号
*/
private String requestNo;
/** /**
* 检验类型0来料检测 * 检验类型0来料检测
*/ */