feat(wms): 新增用印审批功能
- 在审批API中添加按业务ID查询审批信息的方法 - 配置用印详情页面路由,支持通过业务ID查看用印详情 - 修改待办列表,为用印类型申请隐藏同意驳回按钮 - 在待办列表数据中添加业务ID字段,完善申请类型映射 - 更新审批服务接口和实现类,添加queryByBizId方法 - 重构用印详情页面,集成审批信息加载和权限校验逻辑 - 更新领域模型中的申请类型枚举,添加用印类型支持 - 完善审批任务服务,支持用印申请详情查询和申请人姓名显示
This commit is contained in:
@@ -73,4 +73,12 @@ public interface IWmsApprovalService {
|
||||
* @return 操作结果
|
||||
*/
|
||||
Map<String, Object> cancelApproval(Long approvalId);
|
||||
|
||||
/**
|
||||
* 按业务ID查询审批信息(用于用印等业务)
|
||||
*
|
||||
* @param bizId 业务ID
|
||||
* @return 审批信息包含任务详情
|
||||
*/
|
||||
Map<String, Object> queryByBizId(Long bizId);
|
||||
}
|
||||
|
||||
@@ -549,4 +549,25 @@ public class WmsApprovalServiceImpl implements IWmsApprovalService {
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryByBizId(Long bizId) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if (bizId == null) {
|
||||
return result;
|
||||
}
|
||||
LambdaQueryWrapper<WmsApproval> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(WmsApproval::getApplyId, bizId);
|
||||
lqw.eq(WmsApproval::getApplyType, "seal");
|
||||
lqw.eq(WmsApproval::getDelFlag, 0);
|
||||
WmsApprovalVo approval = baseMapper.selectVoOne(lqw);
|
||||
if (approval == null) {
|
||||
return result;
|
||||
}
|
||||
result.put("approval", approval);
|
||||
result.put("applyType", approval.getApplyType());
|
||||
List<WmsApprovalTaskVo> tasks = approvalTaskService.queryByApprovalId(approval.getApprovalId());
|
||||
result.put("task", tasks != null && !tasks.isEmpty() ? tasks.get(0) : null);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.common.core.service.UserService;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.domain.WmsApprovalTask;
|
||||
import com.klp.domain.bo.WmsApprovalTaskBo;
|
||||
@@ -14,6 +15,8 @@ import com.klp.domain.vo.WmsApprovalTaskVo;
|
||||
import com.klp.domain.vo.WmsApprovalVo;
|
||||
import com.klp.domain.vo.WmsLeaveRequestVo;
|
||||
import com.klp.domain.vo.WmsOutRequestVo;
|
||||
import com.klp.domain.vo.WmsSealReqVo;
|
||||
import com.klp.mapper.WmsSealReqMapper;
|
||||
import com.klp.mapper.WmsApprovalTaskMapper;
|
||||
import com.klp.mapper.WmsApprovalMapper;
|
||||
import com.klp.mapper.WmsLeaveRequestMapper;
|
||||
@@ -40,7 +43,9 @@ public class WmsApprovalTaskServiceImpl implements IWmsApprovalTaskService {
|
||||
private final WmsApprovalMapper approvalMapper;
|
||||
private final WmsLeaveRequestMapper leaveRequestMapper;
|
||||
private final WmsOutRequestMapper outRequestMapper;
|
||||
private final ISysUserService userService;
|
||||
private final WmsSealReqMapper sealRequestMapper;
|
||||
private final UserService userService;
|
||||
private final ISysUserService sysUserService;
|
||||
|
||||
@Override
|
||||
public WmsApprovalTaskVo queryById(Long taskId) {
|
||||
@@ -73,6 +78,7 @@ public class WmsApprovalTaskServiceImpl implements IWmsApprovalTaskService {
|
||||
|
||||
// 收集所有applyId,按类型分别查询
|
||||
Set<String> userNames = new HashSet<>();
|
||||
Set<Long> empIds = new HashSet<>();
|
||||
Map<String, Object> detailMap = new HashMap<>();
|
||||
|
||||
for (WmsApprovalTaskVo task : taskList) {
|
||||
@@ -97,6 +103,12 @@ public class WmsApprovalTaskServiceImpl implements IWmsApprovalTaskService {
|
||||
if (outDetail != null && StringUtils.isNotBlank(outDetail.getCreateBy())) {
|
||||
userNames.add(outDetail.getCreateBy());
|
||||
}
|
||||
} else if ("seal".equalsIgnoreCase(applyType)) {
|
||||
WmsSealReqVo sealDetail = sealRequestMapper.selectVoById(applyId);
|
||||
detailMap.put("seal_" + applyId, sealDetail);
|
||||
if (sealDetail != null && sealDetail.getEmpId() != null) {
|
||||
empIds.add(sealDetail.getEmpId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,7 +116,18 @@ public class WmsApprovalTaskServiceImpl implements IWmsApprovalTaskService {
|
||||
// 批量查询昵称
|
||||
Map<String, String> nickMap = Collections.emptyMap();
|
||||
if (!userNames.isEmpty()) {
|
||||
nickMap = userService.selectNickNameMapByUserNames(new ArrayList<>(userNames));
|
||||
nickMap = sysUserService.selectNickNameMapByUserNames(new ArrayList<>(userNames));
|
||||
}
|
||||
|
||||
// 批量查询empId对应的昵称(用于用印申请)
|
||||
Map<Long, String> empNickMap = new HashMap<>();
|
||||
if (!empIds.isEmpty()) {
|
||||
for (Long empId : empIds) {
|
||||
String nickName = userService.selectNickNameById(empId);
|
||||
if (StringUtils.isNotBlank(nickName)) {
|
||||
empNickMap.put(empId, nickName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 组装返回结果
|
||||
@@ -139,6 +162,15 @@ public class WmsApprovalTaskServiceImpl implements IWmsApprovalTaskService {
|
||||
item.put("detail", outDetail);
|
||||
item.put("applyType", "out");
|
||||
}
|
||||
} else if ("seal".equalsIgnoreCase(applyType)) {
|
||||
WmsSealReqVo sealDetail = (WmsSealReqVo) detailMap.get("seal_" + applyId);
|
||||
if (sealDetail != null) {
|
||||
if (sealDetail.getEmpId() != null) {
|
||||
sealDetail.setApplicantName(empNickMap.getOrDefault(sealDetail.getEmpId(), String.valueOf(sealDetail.getEmpId())));
|
||||
}
|
||||
item.put("detail", sealDetail);
|
||||
item.put("applyType", "seal");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user