Files
klp-oa/klp-wms/src/main/java/com/klp/service/IWmsActualWarehouseService.java
Joshi bfba3ce49a feat(warehouse): 添加库位排序号修正功能并优化钢卷查询排序
- 在 IWmsActualWarehouseService 中新增 fixSortNoByParentId 方法用于修正库位排序号
- 在 WmsActualWarehouseController 中新增 /fixSortNo/{parentId} 接口
- 实现 WmsActualWarehouseServiceImpl 中的 fixSortNoByParentId 业务逻辑
- 添加正则表达式处理库位编码的排序键解析
- 新增 WmsMaterialCoilMapper 的 selectVoPagePlusOrderBy 查询方法
- 重构 WmsMaterialCoilMapper.xml 中的排序辅助字段查询逻辑
- 修改 WmsMaterialCoilServiceImpl 中的分页查询逻辑以支持排序功能
2026-03-12 17:05:22 +08:00

96 lines
2.5 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;
import com.klp.domain.vo.WmsActualWarehouseVo;
import com.klp.domain.vo.WmsActualWarehouseTreeVo;
import com.klp.domain.vo.WmsActualWarehouseImportVo;
import com.klp.domain.bo.WmsActualWarehouseBo;
import com.klp.domain.bo.WmsActualWarehouseHierarchyBo;
import com.klp.domain.bo.WmsActualWarehouseBatchGenerateBo;
import com.klp.domain.bo.WmsActualWarehouseSplitBo;
import java.util.Collection;
import java.util.List;
/**
* 实际库区/库位自关联Service接口
*
* @author klp
* @date 2025-11-24
*/
public interface IWmsActualWarehouseService {
/**
* 查询实际库区/库位自关联
*/
WmsActualWarehouseVo queryById(Long actualWarehouseId);
/**
* 查询实际库区/库位自关联列表
*/
List<WmsActualWarehouseVo> queryList(WmsActualWarehouseBo bo);
/**
* 查询完整的三级目录树
*/
List<WmsActualWarehouseTreeVo> queryTree(WmsActualWarehouseBo bo);
/**
* 新增实际库区/库位自关联
*/
Boolean insertByBo(WmsActualWarehouseBo bo);
/**
* 通过一次提交批量创建/复用三级目录
*/
List<Long> createHierarchy(WmsActualWarehouseHierarchyBo bo);
/**
* 导入层级目录
*/
void importHierarchy(List<WmsActualWarehouseImportVo> importList);
/**
* 修改实际库区/库位自关联
*/
Boolean updateByBo(WmsActualWarehouseBo bo);
/**
* 校验并批量删除实际库区/库位自关联信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<WmsActualWarehouseTreeVo> queryTreeExcludeLevelThree(WmsActualWarehouseBo bo);
/**
* 批量生成库位
* @return 成功创建数量
*/
int batchGenerateLocations(WmsActualWarehouseBatchGenerateBo bo);
/**
* 将给定的三级库位拆分为两个小库位
*/
void splitLocations(WmsActualWarehouseSplitBo bo);
/**
* 将已拆分的库位合并回一个大库位
*/
void mergeLocations(WmsActualWarehouseSplitBo bo);
/**
* 释放实际库区/库位:
* - 将该库区设置为未被占用isEnabled=1
* - 清空钢卷表中绑定此库区且为现存(data_type=1)、未删除(del_flag=0)的记录的 actual_warehouse_id
*/
void releaseActualWarehouse(Long actualWarehouseId);
/**
* 修正已生成库位的排序号(交错排序)
* @param parentId 父库位ID
* @return 修正的记录数
*/
int fixSortNoByParentId(Long parentId);
}