自动化立体仓库 - WCS系统
#
Junjie
2023-10-25 7a3b50af32dce3c806a6e520043a714594f3acff
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -75,54 +75,6 @@
        return R.ok().add(res);
    }
    @PostMapping("/io/mode/action/site")
    @ManagerAuth(memo = "充电控制")
    public R ioModeAction(@RequestParam("floor") Integer floor, @RequestParam("charge") Boolean charge){
        if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge)) {
            return R.error("目前存在小车充电任务,请稍后再试");
        }
        if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) {
            return R.error("目前存在小车复位任务,请稍后再试");
        }
        if (charge) {
            return R.ok();
        }
        SteChargeType steCharge = SteChargeType.get(floor);
        assert steCharge != null;
        Integer steNo = basSteService.hasCarOfLocNo(steCharge.locNo);
        if (Cools.isEmpty(steNo)) {
            return R.error(steNo + "号小车不在" + floor + "号充电桩,请检查小车定位");
        }
        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
        SteProtocol steProtocol = steThread.getSteProtocol();
        BasSte basSte = basSteService.selectById(steNo);
        if (steProtocol.getMode() == 0) {
            return R.error(steNo + "号小车离线,无法操作");
        }
        if (!steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
            return R.error(steNo + "号小车不是空闲,无法操作");
        }
        WrkCharge wrkCharge = wrkChargeService.selectWorking(steNo, WrkChargeType.reset);
        if (wrkCharge == null) {
            // 开始穿梭车复位任务
            wrkCharge = new WrkCharge();
            wrkCharge.setSteNo(steNo);
            wrkCharge.setWrkNo(commonService.getChargeWorkNo(6));
            wrkCharge.setWrkSts(41L);   // 41.小车准备复位
            wrkCharge.setCrnNo(2);  // 固定2号堆垛机
            wrkCharge.setIoPri((double) 10);
            wrkCharge.setSourceLocNo(steCharge.locNo);
            wrkCharge.setLocNo(basSte.getIdleLoc());
            wrkCharge.setMemo("reset");
            wrkCharge.setAppeTime(new Date());
            if (!wrkChargeService.insert(wrkCharge)) {
                News.error("保存{}号穿梭车复位任务失败!!!", steNo);
            }
        }
        return R.ok(steNo + "号小车准备离开" + floor + "号充电桩");
    }
    @PostMapping("/table/site")
    @ManagerAuth(memo = "站点信息表")
    public R siteTable(){
@@ -151,6 +103,8 @@
            vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 入库标记
            vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 空板信号
            vo.setStaNo(staProtocol.getStaNo());                // 目标站
            vo.setLocType1(staProtocol.getLocType1()==null?"-":staProtocol.getLocType1().toString());                // 高低信号
            vo.setOutInModel(staProtocol.getOutInModel()==null?"-":staProtocol.getOutInModel().toString());                // 出入库模式
        }
        return R.ok().add(list);
    }