自动化立体仓库 - WCS系统
#
zjj
2024-10-14 056cf9d0311e1345017ab4c52c5946144fb4ccb8
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -35,6 +35,7 @@
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.RgvThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -248,7 +249,7 @@
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        boolean locSts = isLocSts(param.getRow().toString(), param.getBay().toString(), param.getLev().toString());
        short locSts = isLocSts(param.getRow(), param.getBay(), param.getLev());
        command.setTraySize(locSts);
        return crnControl(command)?R.ok():R.error();
    }
@@ -267,7 +268,7 @@
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        boolean locSts = isLocSts(param.getSourceRow().toString(), param.getSourceBay().toString(), param.getSourceLev().toString());
        short locSts = isLocSts(param.getSourceRow(), param.getSourceBay(), param.getSourceLev());
        command.setTraySize(locSts);
        return crnControl(command)?R.ok():R.error();
    }
@@ -293,6 +294,12 @@
        if (sourceLoc.getLocType1() != loc.getLocType1()){
            return R.error("库位类型不一致");
        }
        short locSts1 = isLocSts(param.getRow(), param.getBay(), param.getLev());
        short locSts2 = isLocSts(param.getSourceRow(), param.getSourceBay(), param.getSourceLev());
        if (locSts1 != locSts2){
            return R.error("库位不匹配");
        }
        command.setTraySize(locSts1);
//        VersionUtils.locMoveCheckLocType(sourceLoc, loc);
        return crnControl(command)?R.ok():R.error();
    }
@@ -382,6 +389,8 @@
        command.setDestinationPosZ((short) 0);     // 目标库位层
        return crnControl(command)?R.ok():R.error();
    }
//    @ManagerAuth(memo = "暂停")
//    @PostMapping("/operator/pause")
@@ -508,16 +517,15 @@
        }
    }
    private boolean isLocSts(String row,String bay,String lev){
        String loc = String.format("%2d",row)+String.format("%3d",bay)+String.format("%2d",lev);
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", loc));
    private short isLocSts(Short row,Short bay,Short lev){
//        String loc = String.format("%2d",row)+String.format("%3d",bay)+String.format("%2d",lev);
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
                .eq("row1", row).eq("bay1", bay).eq("lev1", lev));
        if (Cools.isEmpty(locMast)){
            return false;
            return 0;
        }
        if (locMast.getLocType1() == 2){
            return true;
        }
        return false;
        return locMast.getLocType1();
    }