|  |  |  | 
|---|
|  |  |  | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); | 
|---|
|  |  |  | Map<String, Object> map1 = new HashMap<>(); | 
|---|
|  |  |  | map1.put("floor", 1); | 
|---|
|  |  |  | map1.put("modeVal", devpThread.charge0); | 
|---|
|  |  |  | map1.put("modeDesc", devpThread.charge0?"充电中":"关闭"); | 
|---|
|  |  |  | map1.put("modeVal", !devpThread.charge0); | 
|---|
|  |  |  | map1.put("modeDesc", !devpThread.charge0?"充电中":"关闭"); | 
|---|
|  |  |  | res.add(map1); | 
|---|
|  |  |  | Map<String, Object> map2 = new HashMap<>(); | 
|---|
|  |  |  | map2.put("floor", 2); | 
|---|
|  |  |  | map2.put("modeVal", devpThread.charge1); | 
|---|
|  |  |  | map2.put("modeDesc", devpThread.charge1?"充电中":"关闭"); | 
|---|
|  |  |  | res.add(map2); | 
|---|
|  |  |  | Map<String, Object> map3 = new HashMap<>(); | 
|---|
|  |  |  | map3.put("floor", 3); | 
|---|
|  |  |  | map3.put("modeVal", devpThread.charge2); | 
|---|
|  |  |  | map3.put("modeDesc", devpThread.charge2?"充电中":"关闭"); | 
|---|
|  |  |  | res.add(map3); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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") | 
|---|
|  |  |  | 
|---|
|  |  |  | vo.setLoading(staProtocol.isLoading()?"Y":"N");     // 有物 | 
|---|
|  |  |  | vo.setInEnable(staProtocol.isInEnable()?"Y":"N");   // 可入 | 
|---|
|  |  |  | vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 可出 | 
|---|
|  |  |  | vo.setLiftArrival(staProtocol.isLiftArrival()?"Y":"N"); // 提升机到位信号 | 
|---|
|  |  |  | vo.setShuttleTakeEnable(staProtocol.isShuttleTakeEnable()?"Y":"N"); // 穿梭车可取信号 | 
|---|
|  |  |  | vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 入库标记 | 
|---|
|  |  |  | vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 空板信号 | 
|---|
|  |  |  | vo.setStaNo(staProtocol.getStaNo());                // 目标站 | 
|---|
|  |  |  | vo.setLocType1(staProtocol.getLocType1()==null?"-":staProtocol.getLocType1().toString());                // 高低信号 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok().add(list); | 
|---|
|  |  |  | } | 
|---|