fix(approval): 修复审批任务创建时审批人信息获取问题

- 根据applicantId查询审批人name和id,替换原来的当前登录用户信息
- 通过WmsApproval表查询审批配置信息
- 使用SysUser表根据审批人姓名查询对应的用户ID
- 更新审批任务中的审批人ID和姓名字段为正确的值
- 移除LoginHelper依赖,改用数据库查询获取审批人信息
This commit is contained in:
2026-03-02 11:29:03 +08:00
parent 76ec1aa2d7
commit 4a3878bda2

View File

@@ -301,12 +301,14 @@ public class WmsApprovalServiceImpl implements IWmsApprovalService {
}
} else {
updateApproval.setRequiredApprovers(1);
LoginUser currentUser = LoginHelper.getLoginUser();
// 根据applicantId查询审批人name和id
WmsApproval approval = baseMapper.selectOne(new LambdaQueryWrapper<WmsApproval>().eq(WmsApproval::getApprovalId, approvalId));
List<SysUser> currentUser = userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getNickName, approval.getApproverName()));
if (currentUser != null) {
WmsApprovalTaskBo taskBo = new WmsApprovalTaskBo();
taskBo.setApprovalId(approvalId);
taskBo.setApproverId(LoginHelper.getUserId());
taskBo.setApproverName(LoginHelper.getNickName());
taskBo.setApproverId(currentUser.get(0).getUserId());
taskBo.setApproverName(approval.getApproverName());
taskBo.setTaskStatus("pending");
approvalTaskMapper.insert(BeanUtil.toBean(taskBo, WmsApprovalTask.class));
}