123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 |
- package com.ruoyi.base.service;
- import com.ruoyi.base.domain.BaseLocationInfo;
- import com.ruoyi.base.domain.dto.BaseLocationInfoSameColDTO;
- import com.ruoyi.base.domain.vo.BasLocationTreeSelectVO;
- import com.ruoyi.base.domain.vo.BaseLocationLotattListVO;
- import com.ruoyi.base.domain.vo.BaseLocationLotattDTO;
- import com.ruoyi.base.domain.vo.TreeSelectVO;
- import com.ruoyi.common.core.domain.AjaxResult;
- import java.util.List;
- import java.util.Map;
- /**
- * 库位信息Service接口
- *
- * @author andy
- * @date 2022-02-18
- */
- public interface IBaseLocationInfoService {
- /**
- * 入库校验同列任务任务状态和阻挡
- *
- * @param basLocationList
- * @return
- */
- BaseLocationLotattDTO checkTheSameColumnLocation(List<BaseLocationLotattDTO> basLocationList);
- /**
- * 出库校验同列任务任务状态和阻挡
- *
- * @param baseLocationList
- * @return
- */
- BaseLocationLotattDTO checkTheSameColumnLocation1(BaseLocationLotattDTO baseLocationLotattVO, List<BaseLocationLotattDTO> baseLocationList);
- /**
- * 查询库位信息
- *
- * @param id 库位信息主键
- * @return 库位信息
- */
- BaseLocationInfo selectBaseLocationInfoById(Long id);
- /**
- * 根据id或者编号查询库位信息
- *
- * @param idOrNo
- * @param warehouseId
- * @return
- */
- BaseLocationInfo selectBaseLocationInfoByIdOrNo(String idOrNo, Long warehouseId);
- /**
- * 根据条件查询可分配库位
- *
- * @param zoneId
- * @param bindSku
- * @param orderBy
- * @return
- */
- List<BaseLocationLotattDTO> selectAllocatingLocationAccordingConditionsOrderBy(List<String> zoneId
- , String bindSku
- , String orderBy);
- /**
- * 根据条件查询可分配库存
- *
- * @param zoneId
- * @param lotatt
- * @param sku
- * @param orderBy
- * @return
- */
- List<BaseLocationLotattDTO> selectAllocatingInventoryAccordingConditionsOrderBy(List<String> zoneId
- , Map<String, String> lotatt
- , String sku
- , String orderBy);
- /**
- * 查询库位信息列表
- *
- * @param baseLocationInfo 库位信息
- * @return 库位信息集合
- */
- List<BaseLocationInfo> selectBaseLocationInfoList(BaseLocationInfo baseLocationInfo);
- /**
- * 查询库位信息列表
- *
- * @param locId 库位ID
- * @return
- */
- List<BaseLocationInfo> selectBaseLocationInfoList(long locId);
- /**
- * 新增库位信息
- *
- * @param baseLocationInfo 库位信息
- * @return 结果
- */
- int insertBaseLocationInfo(BaseLocationInfo baseLocationInfo);
- /**
- * 修改库位信息
- *
- * @param baseLocationInfo 库位信息
- * @return 结果
- */
- int updateBaseLocationInfo(BaseLocationInfo baseLocationInfo);
- /**
- * 批量删除库位信息
- *
- * @param ids 需要删除的库位信息主键集合
- * @return 结果
- */
- int deleteBaseLocationInfoByIds(Long[] ids);
- /**
- * 删除库位信息信息
- *
- * @param id 库位信息主键
- * @return 结果
- */
- int deleteBaseLocationInfoById(Long id);
- /**
- * 构建前端所需要下拉树结构
- *
- * @return 下拉树结构列表
- */
- List<TreeSelectVO> buildLocationTreeSelect();
- /**
- * 构建前端所需要树结构
- *
- * @param zoneId 库位列表
- * @return 树结构列表
- */
- List<BasLocationTreeSelectVO> buildLocationTree(Long zoneId);
- /**
- * 检测是库位还是库区,由于下拉树库位和库区没有做区分所以用这个方法来判断下类型
- *
- * @param idOrNo id或者编号
- * @param warehouseId 仓库id
- * @return
- */
- boolean checkIsLocation(String idOrNo, Long warehouseId);
- /**
- * 根据zoneId查询库位信息
- * 返回结果会根据排列层进行排序
- *
- * @param zoneId
- * @param warehouseId
- * @return
- */
- List<BaseLocationInfo> selectSortedLocatinListByZoneId(Long zoneId, Long warehouseId, String orderBy);
- /**
- * 根据zoneId查询库位信息
- * 返回结果会根据排列层进行排序,同库位多种物料的数据会合并
- *
- * @param locationId
- * @param warehouseId
- * @param lotatt
- * @param sku
- * @return
- */
- List<BaseLocationLotattListVO> selectSortedLocatinListByZoneId(List<Long> locationId, Long warehouseId, Map<String, String> lotatt, String sku);
- /**
- * 更新库位状态
- *
- * @param status
- * @return
- */
- int updateLocationStockStatus(Long id, String status);
- /**
- * 查询相邻可以存放的库位
- *
- * @param colNo
- * @param zoneId
- * @return
- */
- List<BaseLocationInfo> selectNeighborLocation(String colNo, Long zoneId);
- /**
- * 验证库位任务状态是否空闲
- *
- * @param locationId
- * @return true 空闲
- */
- Boolean verifyLocationIsIdle(String locationId, Long warehouseId);
- /**
- * 验证库位库存是否为占用
- *
- * @param locationId
- * @return true 占用
- */
- Boolean verifyLocationIsInStock(String locationId, Long warehouseId);
- /**
- * 锁定库位
- *
- * @param id
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean lockLocationStockStatus(Long id, Long warehouseId, String updateBy);
- /**
- * 解锁库位
- *
- * @param id
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean unLockLocationStockStatus(Long id, Long warehouseId, String updateBy);
- /**
- * 锁定库位(起始和目标)
- *
- * @param locationFromId
- * @param locationToId
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean lockLocationStockStatus(Long locationFromId, Long locationToId, Long warehouseId, String updateBy);
- /**
- * 解锁库位(起始和目标)
- *
- * @param locationFromId
- * @param locationToId
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean unLockLocationStockStatus(Long locationFromId, Long locationToId, Long warehouseId, String updateBy);
- /**
- * 占领库位状态(是否有货状态)
- *
- * @param id
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean occupyLocation(Long id, Long warehouseId, String updateBy);
- /**
- * 放开占领库位状态(是否有货状态)
- *
- * @param id
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean unOccupyLocation(Long id, Long warehouseId, String updateBy);
- /**
- * 修改库位状态为空闲无货
- *
- * @param id
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean updateLocationIdleAndEmpty(Long id, Long warehouseId, String updateBy);
- /**
- * 修改库位状态为空闲有货
- *
- * @param id
- * @param warehouseId
- * @param updateBy
- * @return
- */
- boolean updateLocationIdleAndNoEmpty(Long id, Long warehouseId, String updateBy);
- /**
- * 查询同列库位是否有阻挡
- *
- * @param colNo
- * @param colIndex
- * @return
- */
- List<BaseLocationInfo> selectBeforeLocationByColNo(String colNo, Long colIndex);
- /**
- * 查询同列可用库位
- *
- * @param colNo
- * @param colIndex
- * @return
- */
- List<BaseLocationInfoSameColDTO> selectSameColCanToLoc(String colNo, Long colIndex);
- /**
- * 导入库位
- *
- * @param list
- * @param updateSupport
- * @param opname
- * @return
- */
- AjaxResult importLocation(List<BaseLocationInfo> list, boolean updateSupport, String opname);
- /**
- * 重置库位数据
- * @param baseLocationInfo
- * @return
- */
- Boolean reSetLocationInfo(BaseLocationInfo baseLocationInfo);
- /**
- * 根据库位Id获取当前库位信息List
- * @param zoneId
- * @author chenyang
- */
- List<BaseLocationInfo> getBaseLocationInfoList(Long zoneId, List<Long> configLocationIdList);
- /**
- * 根据库位Id获取当前库位信息List
- * @param zoneId
- * @author chenyang
- */
- List<BaseLocationInfo> getBaseLocationInfoList(Long zoneId);
- /**
- * 根据库区场景获取当前库位信息List
- * @param zoneIdList
- * @author
- */
- List<BaseLocationInfo> getBaseLocationInfoList(List<Long> zoneIdList);
- List<BaseLocationInfo> getBaseLocationInfoByIdList(List<Long> idList);
- /**
- *
- * @param zoneId
- * @param bindSku
- * @param isEmpty
- * @
- * @return
- */
- List<BaseLocationInfo> selectLocationInfoList(Long zoneId, String bindSku, Boolean isEmpty, String stockStatus);
- }
|