#
zjj
2 天以前 020f936ddf191a425e2130237c44ed1197e92269
#
3个文件已修改
69 ■■■■ 已修改文件
rsf-admin/src/page/task/TaskList.jsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/task/TaskList.jsx
@@ -218,7 +218,7 @@
    }
    return (
        record?.taskStatus == 198 && record?.taskType == 103 ? <ConfirmButton label={"toolbar.pick"} startIcon={<ColorizeOutlinedIcon />} onConfirm={pickClick} /> : <></>
        record?.taskStatus == 199 && record?.taskType == 103 ? <ConfirmButton label={"toolbar.pick"} startIcon={<ColorizeOutlinedIcon />} onConfirm={pickClick} /> : <></>
    )
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -492,7 +492,7 @@
                if ((ioType == 1 && deviceBind.getBeSimilar().equals("1"))) {
                    //相似物料打开,判断深库位有没有货,没货就放深库位,有货就不操作
                    Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
                            .eq(Loc::getRow, shallowLoc)
                            .eq(Loc::getCode, shallowLoc)
                            .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                            .eq(Loc::getAreaId, area)
                    );
@@ -561,7 +561,7 @@
        //查询当前库位类型空库位 小于5个则locmast = null
        List<Loc> locTypeLocMasts = locService.list(new LambdaQueryWrapper<Loc>()
                .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                .eq(Loc::getDeviceNo, deviceNo)
                .eq(Loc::getChannel, deviceNo)
                .eq(Loc::getType, locTypeDto.getLocType1())
                .eq(Loc::getAreaId, area)
        );
rsf-server/src/main/java/com/vincent/rsf/server/api/utils/LocUtils.java
@@ -9,6 +9,7 @@
import com.vincent.rsf.server.manager.entity.DeviceBind;
import com.vincent.rsf.server.manager.entity.Loc;
import com.vincent.rsf.server.manager.service.DeviceBindService;
import com.vincent.rsf.server.manager.service.LocService;
import java.util.List;
@@ -19,27 +20,54 @@
     * 获取 浅库位对应的深库位号
     */
    public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) {
        int row = getRow(shallowLoc);
        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
        int targetRow;
        if (remainder == 2) {
            targetRow = row - 1;
        } else if (remainder == 3) {
            targetRow = row + 1;
        } else {
            throw new CoolException(shallowLoc + "不是浅库位,系统繁忙");
        LocService locService = SpringUtils.getBean(LocService.class);
        Loc shaLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLoc));
        int row = shaLoc.getRow()-1;
        boolean contains = slaveProperties.getDoubleLocs().contains(row);
        Loc deepLoc = null;
        if (contains) {
            deepLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
                    .eq(Loc::getAreaId, shaLoc.getAreaId())
                    .eq(Loc::getRow, row)
                    .eq(Loc::getCol, shaLoc.getCol())
                    .eq(Loc::getLev, shaLoc.getLev())
            );
        }else {
            deepLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
                    .eq(Loc::getAreaId, shaLoc.getAreaId())
                    .eq(Loc::getRow, shaLoc.getRow()+1)
                    .eq(Loc::getCol, shaLoc.getCol())
                    .eq(Loc::getLev, shaLoc.getLev())
            );
        }
        return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
        return deepLoc.getCode();
    }
    /**
     * 获取 深库位对应的浅库位号
     */
    public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) {
        int row = getRow(deepLoc);
        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
        int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
        return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
        LocService locService = SpringUtils.getBean(LocService.class);
        Loc depLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, deepLoc));
        int row = depLoc.getRow()-1;
        boolean contains = slaveProperties.getDoubleLocs().contains(row);
        Loc shallowLoc = null;
        if (!contains) {
            shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
                    .eq(Loc::getAreaId, depLoc.getAreaId())
                    .eq(Loc::getRow, row)
                    .eq(Loc::getCol, depLoc.getCol())
                    .eq(Loc::getLev, depLoc.getLev())
            );
        }else {
            shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>()
                    .eq(Loc::getAreaId, depLoc.getAreaId())
                    .eq(Loc::getRow, depLoc.getRow()+1)
                    .eq(Loc::getCol, depLoc.getCol())
                    .eq(Loc::getLev, depLoc.getLev())
            );
        }
        return shallowLoc.getCode();
    }
    /**
@@ -117,7 +145,12 @@
     */
    public static int getRow(String locNo) {
        if (!Cools.isEmpty(locNo)) {
            return Integer.parseInt(locNo.substring(0, 2));
            LocService locService = SpringUtils.getBean(LocService.class);
            Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locNo));
            if (null == loc) {
                throw new RuntimeException("库位解析异常");
            }
            return loc.getRow();
        }
        throw new RuntimeException("库位解析异常");
    }