Files
xgy-oa/klp-wms/src/main/java/com/klp/service/impl/WmsApprovalServiceImpl.java
Joshi 8a93b8e10c feat(wms): 添加通用审批和员工外出申请功能
- 新增 WmsApproval 实体类、VO类、BO类及对应映射文件
- 创建 IWmsApprovalService 接口及其实现类 WmsApprovalServiceImpl
- 实现 WmsApprovalController 控制器提供CRUD操作接口
- 新增 WmsOutRequest 实体类、VO类、BO类及对应映射文件
- 创建 IWmsOutRequestService 接口及其实现类 WmsOutRequestServiceImpl
- 实现 WmsOutRequestController 控制器提供CRUD操作接口
- 配置MyBatis映射文件实现数据库操作
- 添加分页查询、导出、新增、修改、删除等完整功能
2026-01-20 13:48:07 +08:00

115 lines
4.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.WmsApprovalBo;
import com.klp.domain.vo.WmsApprovalVo;
import com.klp.domain.WmsApproval;
import com.klp.mapper.WmsApprovalMapper;
import com.klp.service.IWmsApprovalService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 通用审批(支持请假/外出等申请的审批Service业务层处理
*
* @author klp
* @date 2026-01-20
*/
@RequiredArgsConstructor
@Service
public class WmsApprovalServiceImpl implements IWmsApprovalService {
private final WmsApprovalMapper baseMapper;
/**
* 查询通用审批(支持请假/外出等申请的审批)
*/
@Override
public WmsApprovalVo queryById(Long approvalId){
return baseMapper.selectVoById(approvalId);
}
/**
* 查询通用审批(支持请假/外出等申请的审批)列表
*/
@Override
public TableDataInfo<WmsApprovalVo> queryPageList(WmsApprovalBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsApproval> lqw = buildQueryWrapper(bo);
Page<WmsApprovalVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询通用审批(支持请假/外出等申请的审批)列表
*/
@Override
public List<WmsApprovalVo> queryList(WmsApprovalBo bo) {
LambdaQueryWrapper<WmsApproval> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsApproval> buildQueryWrapper(WmsApprovalBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsApproval> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getApplyType()), WmsApproval::getApplyType, bo.getApplyType());
lqw.eq(bo.getApplyId() != null, WmsApproval::getApplyId, bo.getApplyId());
lqw.like(StringUtils.isNotBlank(bo.getApproverName()), WmsApproval::getApproverName, bo.getApproverName());
lqw.eq(StringUtils.isNotBlank(bo.getApprovalStatus()), WmsApproval::getApprovalStatus, bo.getApprovalStatus());
lqw.eq(StringUtils.isNotBlank(bo.getApprovalOpinion()), WmsApproval::getApprovalOpinion, bo.getApprovalOpinion());
lqw.eq(bo.getApprovalTime() != null, WmsApproval::getApprovalTime, bo.getApprovalTime());
return lqw;
}
/**
* 新增通用审批(支持请假/外出等申请的审批)
*/
@Override
public Boolean insertByBo(WmsApprovalBo bo) {
WmsApproval add = BeanUtil.toBean(bo, WmsApproval.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setApprovalId(add.getApprovalId());
}
return flag;
}
/**
* 修改通用审批(支持请假/外出等申请的审批)
*/
@Override
public Boolean updateByBo(WmsApprovalBo bo) {
WmsApproval update = BeanUtil.toBean(bo, WmsApproval.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsApproval entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除通用审批(支持请假/外出等申请的审批)
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}