feat(approval): 完善审批流程并新增部门管理功能

- 修改审批任务服务接口返回类型为Map以支持复杂数据结构
- 新增WMS部门管理模块,包括实体、业务对象、控制器和实现类
- 添加部门树形结构支持和部门负责人管理功能
- 更新审批流程逻辑,集成部门领导审批机制
- 重构审批任务查询方法以关联审批详情和申请人信息
- 添加部门ID字段到请假和外出申请相关实体中
- 优化多级审批流程,支持基于部门层级的审批链路
- 移除废弃的导入语句并整理代码结构
This commit is contained in:
2026-03-02 14:41:43 +08:00
parent f47e1f529c
commit 05447c21ef
18 changed files with 628 additions and 52 deletions

View File

@@ -0,0 +1,101 @@
package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.klp.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.klp.domain.bo.WmsDeptBo;
import com.klp.domain.vo.WmsDeptVo;
import com.klp.domain.WmsDept;
import com.klp.mapper.WmsDeptMapper;
import com.klp.service.IWmsDeptService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* WMS系统部门树形结构Service业务层处理
*
* @author klp
* @date 2026-03-02
*/
@RequiredArgsConstructor
@Service
public class WmsDeptServiceImpl implements IWmsDeptService {
private final WmsDeptMapper baseMapper;
/**
* 查询WMS系统部门树形结构
*/
@Override
public WmsDeptVo queryById(Long deptId){
return baseMapper.selectVoById(deptId);
}
/**
* 查询WMS系统部门树形结构列表
*/
@Override
public List<WmsDeptVo> queryList(WmsDeptBo bo) {
LambdaQueryWrapper<WmsDept> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsDept> buildQueryWrapper(WmsDeptBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsDept> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getParentId() != null, WmsDept::getParentId, bo.getParentId());
lqw.like(StringUtils.isNotBlank(bo.getDeptName()), WmsDept::getDeptName, bo.getDeptName());
lqw.eq(bo.getOrderNum() != null, WmsDept::getOrderNum, bo.getOrderNum());
lqw.eq(bo.getLeader() != null, WmsDept::getLeader, bo.getLeader());
lqw.eq(StringUtils.isNotBlank(bo.getStatus()), WmsDept::getStatus, bo.getStatus());
return lqw;
}
/**
* 新增WMS系统部门树形结构
*/
@Override
public Boolean insertByBo(WmsDeptBo bo) {
WmsDept add = BeanUtil.toBean(bo, WmsDept.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setDeptId(add.getDeptId());
}
return flag;
}
/**
* 修改WMS系统部门树形结构
*/
@Override
public Boolean updateByBo(WmsDeptBo bo) {
WmsDept update = BeanUtil.toBean(bo, WmsDept.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsDept entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除WMS系统部门树形结构
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}