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; }