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.core.service.UserService;
import com.klp.common.helper.LoginHelper; import com.klp.common.helper.LoginHelper;
import com.klp.common.utils.StringUtils; import com.klp.common.utils.StringUtils;
import com.klp.domain.WmsApprovalTask; import com.klp.domain.*;
import com.klp.domain.WmsDept;
import com.klp.mapper.*; import com.klp.mapper.*;
import com.klp.system.mapper.SysDeptMapper; import com.klp.system.mapper.SysDeptMapper;
import com.klp.system.mapper.SysUserMapper; import com.klp.system.mapper.SysUserMapper;
@@ -24,7 +23,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.klp.domain.bo.WmsApprovalBo; import com.klp.domain.bo.WmsApprovalBo;
import com.klp.domain.vo.WmsApprovalVo; import com.klp.domain.vo.WmsApprovalVo;
import com.klp.domain.WmsApproval;
import com.klp.domain.bo.WmsApprovalTaskBo; import com.klp.domain.bo.WmsApprovalTaskBo;
import com.klp.domain.vo.WmsApprovalTaskVo; import com.klp.domain.vo.WmsApprovalTaskVo;
import com.klp.service.IWmsApprovalService; 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.WmsLeaveRequestVo;
import com.klp.domain.vo.WmsOutRequestVo; import com.klp.domain.vo.WmsOutRequestVo;
import com.klp.domain.WmsLeaveRequest;
/** /**
* 通用审批(支持请假/外出等申请的审批Service业务层处理 * 通用审批(支持请假/外出等申请的审批Service业务层处理
@@ -260,13 +257,42 @@ public class WmsApprovalServiceImpl implements IWmsApprovalService {
bo.setApprovalId(add.getApprovalId()); bo.setApprovalId(add.getApprovalId());
if ("leave".equals(add.getApplyType()) && add.getApplyId() != null) { 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; 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)) { if (!"leave".equals(applyType)) {
return; return;
} }