| | |
| | | package com.zy.asrs.common.wms.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.zy.asrs.common.domain.dto.LocRangeDto; |
| | | import com.zy.asrs.common.utils.Utils; |
| | | import com.zy.asrs.common.wms.mapper.LocMastMapper; |
| | | import com.zy.asrs.common.wms.entity.LocMast; |
| | | import com.zy.asrs.common.wms.service.LocMastService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.zy.asrs.framework.common.Cools; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service("locMastService") |
| | | public class LocMastServiceImpl extends ServiceImpl<LocMastMapper, LocMast> implements LocMastService { |
| | | |
| | | @Override |
| | | public List<String> queryGroupEmptyStock(String sourceLocNo, Long hostId) { |
| | | if (Cools.isEmpty(sourceLocNo)) { |
| | | return null; |
| | | } |
| | | LocMast sourceStock = this.getOne(new LambdaQueryWrapper<LocMast>() |
| | | .eq(LocMast::getLocNo, sourceLocNo) |
| | | .eq(LocMast::getHostId, hostId)); |
| | | if (Cools.isEmpty(sourceStock)) { |
| | | return null; |
| | | } |
| | | return this.baseMapper.queryGroupEmptyStock(hostId); |
| | | } |
| | | |
| | | @Override |
| | | public List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd, Long hostId) { |
| | | return this.baseMapper.queryFreeLocMast2(locType1, rowBeg, rowEnd, bayBeg, bayEnd, levBeg, levEnd, hostId); |
| | | } |
| | | |
| | | @Override |
| | | public Boolean checkEmptyCount(LocMast locMast, int quaOfBlank, Long hostId) { |
| | | if (locMast == null) { |
| | | return false; |
| | | } |
| | | int count = this.baseMapper.selectCount(new LambdaQueryWrapper<LocMast>() |
| | | .eq(LocMast::getLocSts, 'O') |
| | | // .eq(LocMast::getLocType3, locMast.getLocType3()) |
| | | .eq(LocMast::getLev1, locMast.getLev1()) |
| | | .eq(LocMast::getHostId, hostId)); |
| | | return count > quaOfBlank; |
| | | } |
| | | |
| | | @Override |
| | | public LocMast findNearloc(String locNo, Long hostId, LocRangeDto locRangeDto) { |
| | | LocMast locMast = null; |
| | | List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo, hostId); |
| | | if (!Cools.isEmpty(groupOuterLoc)) { |
| | | LambdaQueryWrapper<LocMast> wrapper = new LambdaQueryWrapper<LocMast>() |
| | | .eq(LocMast::getLocSts, 'O') |
| | | .in(LocMast::getLocNo, groupOuterLoc) |
| | | .eq(LocMast::getHostId, hostId) |
| | | .orderByAsc(LocMast::getRow1); |
| | | //库位搜索范围 |
| | | if (locRangeDto != null) { |
| | | wrapper.ge(LocMast::getRow1, locRangeDto.getStartRow()); |
| | | wrapper.le(LocMast::getRow1, locRangeDto.getTargetRow()); |
| | | wrapper.ge(LocMast::getBay1, locRangeDto.getStartBay()); |
| | | wrapper.le(LocMast::getBay1, locRangeDto.getTargetBay()); |
| | | wrapper.ge(LocMast::getLev1, locRangeDto.getStartLev()); |
| | | wrapper.le(LocMast::getLev1, locRangeDto.getTargetLev()); |
| | | } |
| | | locMast = this.getOne(wrapper, false); |
| | | } |
| | | return locMast; |
| | | } |
| | | } |