You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
5.0 KiB
194 lines
5.0 KiB
package com.shkj.wms.service;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
|
import com.shkj.common.core.domain.Result;
|
|
import com.shkj.wms.bo.*;
|
|
import com.shkj.wms.domain.BaseLocation;
|
|
import com.shkj.wms.config.ValidList;
|
|
import com.shkj.wms.domain.BusinDataTask;
|
|
import com.shkj.wms.vo.BaseLocationDetailVo;
|
|
import com.shkj.wms.vo.BaseLocationVo;
|
|
import com.shkj.wms.vo.BusinDataTaskGoodsVo;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 货位资料Service接口
|
|
*
|
|
* @author lch
|
|
* @date 2022-04-23
|
|
*/
|
|
public interface IBaseLocationService extends IService<BaseLocation> {
|
|
/**
|
|
* 查询单个
|
|
*
|
|
* @param id
|
|
* @return
|
|
*/
|
|
Result<BaseLocationVo> queryById(Long id);
|
|
|
|
/**
|
|
* 查询列表
|
|
*
|
|
* @param bo
|
|
* @return
|
|
*/
|
|
List<BaseLocationVo> queryList(BaseLocationQueryBo bo);
|
|
|
|
/**
|
|
* 根据新增业务对象插入货位资料
|
|
*
|
|
* @param bo 货位资料新增业务对象
|
|
* @return
|
|
*/
|
|
Result<Boolean> insertByAddBo(BaseLocationAddBo bo);
|
|
|
|
/**
|
|
* 根据编辑业务对象修改货位资料
|
|
*
|
|
* @param bo 货位资料编辑业务对象
|
|
* @return
|
|
*/
|
|
Result<Boolean> updateByEditBo(BaseLocationEditBo bo);
|
|
|
|
/**
|
|
* 校验并删除数据
|
|
*
|
|
* @param ids 主键集合
|
|
* @param isValid 是否校验,true-删除前校验,false-不校验
|
|
* @return
|
|
*/
|
|
Result<Boolean> deleteWithValidById(List<Long> ids, Boolean isValid);
|
|
|
|
/**
|
|
* 获取推荐的货位
|
|
*
|
|
* @param distribute true 已存在就不会找新的 false 会找到所有符合的
|
|
* @param locationName
|
|
* @param businInShelfD
|
|
* @param goods
|
|
* @param basePackage
|
|
* @return
|
|
*/
|
|
// List<Long> queryRecommendLocations(Boolean distribute, String locationName, BusinInShelfD businInShelfD, BaseGoods goods, BasePackage basePackage);
|
|
|
|
/**
|
|
* 根据id集合查询货位信息
|
|
*
|
|
* @param locationIds
|
|
* @return
|
|
*/
|
|
List<BaseLocationVo> queryLocationsByIds(List<Long> locationIds);
|
|
|
|
/**
|
|
* 根据id集合查询货位信息
|
|
*
|
|
* @param locationIds
|
|
* @param goodsId
|
|
* @return
|
|
*/
|
|
List<BaseLocationVo> queryLocationsPackageByIds(List<Long> locationIds, Long goodsId);
|
|
|
|
|
|
/**
|
|
* 查询货位资料列表
|
|
* @param bo
|
|
* @return
|
|
*/
|
|
List<BaseLocationVo> queryBaseLocationList(BaseLocationQueryPageBo bo);
|
|
|
|
BaseLocation queryBaseLocationByrcl(String locationRow,String locationCol,String layer,String tunnel);
|
|
|
|
|
|
/**
|
|
* 查询满足条件下的货位数据对应的巷道号
|
|
* @param bo
|
|
* @return
|
|
*/
|
|
List<String> queryBaseLocationTunnelList(BaseLocationQueryListBo bo);
|
|
|
|
/**
|
|
* 保存或者修改货位资料集合(根据是否有id来判断新增或者修改)
|
|
* @param list
|
|
* @return
|
|
*/
|
|
Result<Boolean> saveOrUpdateBaseLocations(ValidList<BaseLocationSaveOrUpdateBo> list);
|
|
|
|
/**
|
|
* 按规则保存多个货位资料集合
|
|
* @param bo
|
|
* @return
|
|
*/
|
|
Result<Boolean> saveBaseLocationMany(BaseLocationManyBo bo);
|
|
|
|
/**
|
|
* 保存或者修改货位(根据是否有id来判断新增或者修改)
|
|
* @param bo
|
|
* @return
|
|
*/
|
|
Result<Boolean> saveOrUpdateBaseLocation(BaseLocationSaveOrUpdateBo bo);
|
|
|
|
BaseLocationVo queryLocationById(Long targetLocationId);
|
|
BaseLocationVo queryLocationByCode(String locationCode);
|
|
BaseLocationVo queryLocationByName(String locationName);
|
|
|
|
|
|
BaseLocationVo queryLocationByTunnel(String tunnel);
|
|
|
|
|
|
|
|
Result<Boolean> switchStatus(Long id, String status);
|
|
|
|
/**
|
|
* 根据派生分配空货位
|
|
*
|
|
* @param vehicheModel
|
|
* @return
|
|
*/
|
|
Result<BaseLocationVo> assignEmptyLocation(String vehicheModel,String color ,String batch,List<BusinDataTaskGoodsVo> businDataTaskGoodsVos);
|
|
|
|
/**
|
|
* 根据产品查找库内库存数量最少的巷道
|
|
* @param goodsNo
|
|
* @param batch
|
|
* @param businDataTaskGoodsVos
|
|
* @return
|
|
*/
|
|
Result<BaseLocationVo> assignEmptyLocationByStock( String goodsNo,String vehicheModel, String batch,List<BusinDataTaskGoodsVo> businDataTaskGoodsVos);
|
|
|
|
|
|
Result<BaseLocationVo> assignEmptyLocationAll(AssingEmptyLocBo assingEmptyLocBo,String tunnel);
|
|
|
|
/**
|
|
* 冲孔杠分配货位
|
|
* @param assingEmptyLocBo
|
|
* @return
|
|
*/
|
|
Result<BaseLocationVo> assignEmptyLocatioPunching(AssingEmptyLocBo assingEmptyLocBo);
|
|
|
|
|
|
/**
|
|
* 检查货位是否有对应双深位
|
|
*
|
|
* @param locationVo 当前货位
|
|
* @return
|
|
*/
|
|
Result<BaseLocationVo> getDeepLocation(BaseLocationVo locationVo);
|
|
|
|
/**
|
|
* 更改货位状态
|
|
*
|
|
* @param id 货位ID
|
|
* @param status 货位状态
|
|
* @return
|
|
*/
|
|
Result<Boolean> changeLocationStatus(Long id, String status);
|
|
|
|
|
|
List<BaseLocationVo> getBaseLocationForMap(BaseLocationQueryPageBo bo);
|
|
|
|
Result<List<BaseLocationDetailVo>> queryTargetLocation(BaseLocationUrgentBo bo);
|
|
|
|
void checkLocation(BusinDataTask businDataTask);
|
|
|
|
}
|
|
|