自动化立体仓库 - WMS系统
#
Junjie
2023-09-09 307ba2fc4f1b7c09111f6ff8fd7fa13a0b9b4a46
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -34,8 +34,8 @@
    }
    @Override
    public List<LocMast> queryFreeLocMast2(List<Integer> rows, Integer rowsLen, Short locType1) {
        return this.baseMapper.queryFreeLocMast(rows, rowsLen, locType1);
    public List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd) {
        return this.baseMapper.queryFreeLocMast2(locType1, rowBeg, rowEnd, bayBeg, bayEnd, levBeg, levEnd);
    }
    @Override
@@ -84,7 +84,7 @@
        int row = Utils.getRow(locNo);
        List<String> locNos = Utils.getGroupLoc(locNo);
        if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) {
        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) {
        } else if (CommonService.SECOND_GROUP_ROW_LIST.contains(row) || CommonService.THIRD_GROUP_ROW_LIST.contains(row)) {
            Collections.reverse(locNos);
        } else {
            throw new RuntimeException("库位解析异常");
@@ -94,6 +94,10 @@
        LocMast finalRes = null;
        for (String locNo0 : locNos) {
            LocMast locMast = this.selectById(locNo0);
            if (locMast == null) {
                continue;
            }
            if (locMast.getLocSts().equals("O")) {
                if (finalRes == null) {
                    finalRes = locMast;
@@ -112,23 +116,6 @@
            }
        }
        return finalRes;
    }
    @Override
    public synchronized void breakUp(String locNo, List<String> excludeLocNos) {
        List<String> groupLoc = Utils.getGroupOuterLoc(locNo);
        Iterator<String> iterator = groupLoc.iterator();
        while (iterator.hasNext()) {
            String next = iterator.next();
            LocMast locMast = this.selectById(next);
            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
                if (!excludeLocNos.contains(locMast.getLocNo())) {
                    continue;
                }
            }
            iterator.remove();
        }
        workService.shuttleTransfer(groupLoc);
    }
    @Override
@@ -176,4 +163,18 @@
        return result.size() <= 0;
    }
    @Override
    public List<LocMast> selectLocByLev(Integer lev) {
        return this.baseMapper.selectLocByLev(lev);
    }
    @Override
    public List<LocMast> selectEmptyByLocNos(List<String> locNos) {
        return this.baseMapper.selectEmptyByLocNos(locNos);
    }
    @Override
    public Integer updateLocType2ByRBL(Integer locType2, Integer startRow, Integer endRow, Integer startBay, Integer endBay, Integer startLev, Integer endLev) {
        return this.baseMapper.updateLocType2ByRBL(locType2, startRow, endRow, startBay, endBay, startLev, endLev);
    }
}