package com.huaheng.pc.config.location.service; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.pc.config.location.domain.Location; import com.baomidou.mybatisplus.extension.service.IService; import com.huaheng.pc.config.location.domain.LocationAge; import com.huaheng.pc.config.location.domain.LocationInfo; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public interface LocationService extends IService<Location>{ /** * 新增库位 * @param location * @return */ AjaxResult addsave(Location location); /** * 批量新增库位 * @param location * @return boolean */ boolean insertLocation(Location location); /** * 批量新增库位 * @param * @return boolean */ boolean addBatchSave(String prefix, Integer firstRow, Integer lastRow, Integer firstColumn, Integer lastColumn, Integer firstLayer, Integer lastLayer, Integer firstGrid, Integer lastGrid, String roadWay, String status, String zoneCode, String locationType, String high); /** * 更新库位状态 * @param locationCode * @param status */ void updateStatus(String locationCode, String status); void updateStatus(String locationCode, String status, String warehouseCode); /** * 通过定位规则查找库位 * @param locatingRule * @return */ String position(String locatingRule); /** * 修改容器和库位状态 * */ void updateContainerCodeAndStatus(String locationCode, String containerCode, String status); /** * 修改容器和库位状态 * */ void updateContainerCodeAndStatus(String locationCode, String containerCode, String status, String warehouseCode); LocationInfo getAllLocation(String warehouseCode,String type); /** * 验证库位合法性 * @param code * @return */ boolean checkLocation(String code); boolean getFreeLocation(String materialCode, String batch); /** * 查询库位利用率 * @return */ List<LinkedHashMap<String, Object>> getLocationProp(); /** * 根据库位编码查询库位信息 * @param code 库位编码 * @return */ Location getLocationByCode(String code); Location getLocationByCode(String code, String warehouseCode); /** * 查询空闲可用的库位用来补充入库 * @return location */ List<Location> pickLocation(); /** * 通过仓库 库区 巷道 来获取该巷道的空容器 * @param warehouseCode 仓库 * @param zoneCode 库区 * @param roadWay 巷道 * @return */ List<Location> selectLocationByContainerEmpty(String warehouseCode, String zoneCode, String roadWay); List<Location> selectContainerEmpty(String warehouseCode); Location getInsideNear(Location location); Location getOutSideNear(Location location); Location getNear(Location location); Location getEmptyInsideLocation(Location location); Location getEmptyOutSideLocation(Location location); Location getEmptyLocation(Location location); int getFirstRowOfZone(String warehouseCode, String zoneCode); int getLastRowOfZone(String warehouseCode, String zoneCode); public List<Location> remoteList(String type); void upstatus(String code); int locationSIsnull(); Location getLocationOfRule(int roadWay); Location selectFirstEntity(Location temp1); Location selectAddress(Location location); List<Location> selectEmptyAddress(); List<Location> getRoadwayByLocationType(String locationType); public List<String> selectlistEmpty(String warehouseCode); public List<Location> selectCode(String warehouseCode); Location selectByPrefix(Location location); Location selectModelByOld(Location location); Location selectModelByOld(Location location,List<String> codes); void pickAndplace(List<Location> locationAajacentIsNull,Boolean flag,Location s1,Location s2); Location getLocationFarAway(Integer roadway, int flag,int layer); public Location getLocationOfRule(); public List<Location> selectListInventory(String zoneCode); int updateStatusNew(String locationCode, String warehouseCode, String status, String oldStatus); Map<String, LocationAge> getLkLocationAgeMap(); }