pjb
2025-03-08 83b51a5a0774ea8ecb9a06304af3b956a21307c8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/LocUtils.java
@@ -51,7 +51,7 @@
        List<Loc> locs = new ArrayList<>();
        List<Map<String, Object>> list = viewTaskDetlMapper.getList(mat.getMatnr(), batch, uniqueFields);
        for (Map<String, Object> map : list) {
            Task task = taskService.getById(map.get("task_id").toString());
            Task task = taskService.getById(map.get("taskId").toString());
            if (task == null) {
                continue;
            }
@@ -73,7 +73,7 @@
        List<Loc> locs2 = new ArrayList<>();
        List<Map<String, Object>> list2 = viewLocDetlMapper.getList(mat.getMatnr(), batch, uniqueFields, null);
        for (Map<String, Object> map : list2) {
            Loc one = locService.getById(map.get("loc_id").toString());
            Loc one = locService.getById(map.get("locId").toString());
            if (one == null) {
                continue;
            }
@@ -357,4 +357,25 @@
        return locs;
    }
    // 重写ctu库获取库位
    public Loc getGlobalEmptyLocToCtu(Integer locTypeHeight) {
        LocTypeHeightType locTypeHeightType = LocTypeHeightType.get(locTypeHeight);
        if (locTypeHeightType == null) {
            throw new CoolException("库位高度类型异常");
        }
        //获取库位高度
        LocType locType = locTypeService.getOne(new LambdaQueryWrapper<LocType>().eq(LocType::getFlag, locTypeHeightType.flag));
        //符合库位高度的库位集合
        List<Long> locIdList = locTypeBindService.getLocIdListByType(locType);
        LambdaQueryWrapper<Loc> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(Loc::getId, locIdList);
        queryWrapper.eq(Loc::getLocStsId, LocStsType.O.val());
        queryWrapper.le(Loc::getRow1,26);
        queryWrapper.orderByAsc(Loc::getLev1).orderByDesc(Loc::getBay1).orderByAsc(Loc::getRow1);
        queryWrapper.last("limit 1");
        return locService.getOne(queryWrapper);
    }
}