Files
klp-oa/klp-wms/src/main/java/com/klp/service/impl/WmsWarehouseServiceImpl.java
JR f735de7f53 feat(wms): 为仓库列表添加排序功能
- 在 WmsWarehouseServiceImpl 类中的列表查询方法中添加了排序逻辑
-按照 SortNo 字段进行升序排序,以优化仓库列表的展示顺序
2025-08-11 09:58:30 +08:00

105 lines
3.3 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.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.WmsWarehouseBo;
import com.klp.domain.vo.WmsWarehouseVo;
import com.klp.domain.WmsWarehouse;
import com.klp.mapper.WmsWarehouseMapper;
import com.klp.service.IWmsWarehouseService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 仓库/库区/库位自关联Service业务层处理
*
* @author JR
* @date 2025-07-18
*/
@RequiredArgsConstructor
@Service
public class WmsWarehouseServiceImpl implements IWmsWarehouseService {
private final WmsWarehouseMapper baseMapper;
/**
* 查询仓库/库区/库位自关联
*/
@Override
public WmsWarehouseVo queryById(Long warehouseId){
return baseMapper.selectVoById(warehouseId);
}
/**
* 查询仓库/库区/库位自关联列表
*/
@Override
public List<WmsWarehouseVo> queryList(WmsWarehouseBo bo) {
LambdaQueryWrapper<WmsWarehouse> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsWarehouse> buildQueryWrapper(WmsWarehouseBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsWarehouse> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getParentId() != null, WmsWarehouse::getParentId, bo.getParentId());
lqw.eq(StringUtils.isNotBlank(bo.getWarehouseCode()), WmsWarehouse::getWarehouseCode, bo.getWarehouseCode());
lqw.like(StringUtils.isNotBlank(bo.getWarehouseName()), WmsWarehouse::getWarehouseName, bo.getWarehouseName());
lqw.eq(bo.getWarehouseType() != null, WmsWarehouse::getWarehouseType, bo.getWarehouseType());
lqw.eq(bo.getSortNo() != null, WmsWarehouse::getSortNo, bo.getSortNo());
lqw.eq(bo.getIsEnabled() != null, WmsWarehouse::getIsEnabled, bo.getIsEnabled());
// 新增排序SortNo升序
lqw.orderByAsc(WmsWarehouse::getSortNo);
return lqw;
}
/**
* 新增仓库/库区/库位自关联
*/
@Override
public Boolean insertByBo(WmsWarehouseBo bo) {
WmsWarehouse add = BeanUtil.toBean(bo, WmsWarehouse.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setWarehouseId(add.getWarehouseId());
}
return flag;
}
/**
* 修改仓库/库区/库位自关联
*/
@Override
public Boolean updateByBo(WmsWarehouseBo bo) {
WmsWarehouse update = BeanUtil.toBean(bo, WmsWarehouse.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(WmsWarehouse entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除仓库/库区/库位自关联
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}