refactor(wms): 外出申请默认创建单条任务

- 将通用审批任务创建方法拆分为请假和外出专用方法
- 新增 createOutApprovalTasks 方法处理外出审批流程
- 新增 createLeaveApprovalTasks 方法处理请假审批流程
- 优化导入语句,使用通配符导入 domain 包下的所有类
- 移除未使用的 WmsApproval、WmsLeaveRequest 和 WmsDept 导入
- 为外出审批添加部门领导查询和审批任务创建逻辑
This commit is contained in:
2026-03-02 15:20:38 +08:00
parent f155037680
commit 584839ec67

View File

@@ -13,8 +13,7 @@ import com.klp.common.core.domain.entity.SysUser;
import com.klp.common.core.service.UserService;
import com.klp.common.helper.LoginHelper;
import com.klp.common.utils.StringUtils;
import com.klp.domain.WmsApprovalTask;
import com.klp.domain.WmsDept;
import com.klp.domain.*;
import com.klp.mapper.*;
import com.klp.system.mapper.SysDeptMapper;
import com.klp.system.mapper.SysUserMapper;
@@ -24,7 +23,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.klp.domain.bo.WmsApprovalBo;
import com.klp.domain.vo.WmsApprovalVo;
import com.klp.domain.WmsApproval;
import com.klp.domain.bo.WmsApprovalTaskBo;
import com.klp.domain.vo.WmsApprovalTaskVo;
import com.klp.service.IWmsApprovalService;
@@ -36,7 +34,6 @@ import java.util.stream.Collectors;
import com.klp.domain.vo.WmsLeaveRequestVo;
import com.klp.domain.vo.WmsOutRequestVo;
import com.klp.domain.WmsLeaveRequest;
/**
* 通用审批(支持请假/外出等申请的审批Service业务层处理
@@ -260,13 +257,42 @@ public class WmsApprovalServiceImpl implements IWmsApprovalService {
bo.setApprovalId(add.getApprovalId());
if ("leave".equals(add.getApplyType()) && add.getApplyId() != null) {
createApprovalTasks(add.getApprovalId(), add.getApplyId(), add.getApplyType(), add.getApprovalType(), bo.getDeptId());
createLeaveApprovalTasks(add.getApprovalId(), add.getApplyId(), add.getApplyType(), add.getApprovalType(), bo.getDeptId());
}
if ("out".equals(add.getApplyType()) && add.getApplyId() != null) {
createOutApprovalTasks(add.getApprovalId(), add.getApplyId(), add.getApplyType(), add.getApprovalType(), bo.getDeptId());
}
}
return flag;
}
private void createApprovalTasks(Long approvalId, Long applyId, String applyType, String approvalType, Long deptId) {
private void createOutApprovalTasks(Long approvalId, Long applyId, String applyType, String approvalType, Long deptId) {
if (!"out".equals(applyType)) {
return;
}
WmsOutRequest outRequest = outRequestMapper.selectById(applyId);
if (outRequest == null) {
return;
}
WmsApproval updateApproval = new WmsApproval();
updateApproval.setApprovalId(approvalId);
updateApproval.setApprovalType(approvalType);
updateApproval.setRequiredApprovers(1);
// 根据applicantId查询审批人name和id
WmsDept dept = wmsDeptMapper.selectById(deptId);
SysUser leader = userMapper.selectById(dept.getLeader());
if (leader != null) {
WmsApprovalTaskBo taskBo = new WmsApprovalTaskBo();
taskBo.setApprovalId(approvalId);
taskBo.setApproverId(dept.getLeader());
taskBo.setApproverName(leader.getNickName());
taskBo.setTaskStatus("pending");
approvalTaskMapper.insert(BeanUtil.toBean(taskBo, WmsApprovalTask.class));
}
baseMapper.updateById(updateApproval);
}
private void createLeaveApprovalTasks(Long approvalId, Long applyId, String applyType, String approvalType, Long deptId) {
if (!"leave".equals(applyType)) {
return;
}