From 584839ec675cdcccf74eeda61794fe87b6aff0bc Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 2 Mar 2026 15:20:38 +0800 Subject: [PATCH] =?UTF-8?q?refactor(wms):=20=E5=A4=96=E5=87=BA=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E9=BB=98=E8=AE=A4=E5=88=9B=E5=BB=BA=E5=8D=95=E6=9D=A1?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将通用审批任务创建方法拆分为请假和外出专用方法 - 新增 createOutApprovalTasks 方法处理外出审批流程 - 新增 createLeaveApprovalTasks 方法处理请假审批流程 - 优化导入语句,使用通配符导入 domain 包下的所有类 - 移除未使用的 WmsApproval、WmsLeaveRequest 和 WmsDept 导入 - 为外出审批添加部门领导查询和审批任务创建逻辑 --- .../service/impl/WmsApprovalServiceImpl.java | 38 ++++++++++++++++--- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java index 558bb5e3..4f11ef4c 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java @@ -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; }