From 1d624dfdb040825ffecba6c792c480be662b2dbc Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 10 四月 2025 17:39:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/ForkLiftController.java |  666 +++++++++++++++++++++++++++---------------------------
 1 files changed, 333 insertions(+), 333 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ForkLiftController.java b/src/main/java/com/zy/asrs/controller/ForkLiftController.java
index 844e50a..a0004e6 100644
--- a/src/main/java/com/zy/asrs/controller/ForkLiftController.java
+++ b/src/main/java/com/zy/asrs/controller/ForkLiftController.java
@@ -1,333 +1,333 @@
-package com.zy.asrs.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.core.annotations.ManagerAuth;
-import com.core.common.BaseRes;
-import com.core.common.Cools;
-import com.core.common.R;
-import com.core.exception.CoolException;
-import com.zy.asrs.domain.param.LiftOperatorParam;
-import com.zy.asrs.domain.vo.*;
-import com.zy.asrs.entity.BasLift;
-import com.zy.asrs.service.BasLiftService;
-import com.zy.common.service.CommonService;
-import com.zy.common.utils.RedisUtil;
-import com.zy.core.action.ForkLiftAction;
-import com.zy.core.cache.OutputQueue;
-import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.ForkLiftProtocolStatusType;
-import com.zy.core.enums.ForkLiftTaskModeType;
-import com.zy.core.enums.RedisKeyType;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.model.ForkLiftSlave;
-import com.zy.core.model.command.*;
-import com.zy.core.model.protocol.ForkLiftProtocol;
-import com.zy.core.model.protocol.ForkLiftStaProtocol;
-import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.ForkLiftThread;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 璐у弶鎻愬崌鏈烘帴鍙�
- */
-@Slf4j
-@RestController
-@RequestMapping("/forkLift")
-public class ForkLiftController {
-
-    @Autowired
-    private CommonService commonService;
-    @Autowired
-    private SlaveProperties slaveProperties;
-    @Autowired
-    private BasLiftService basLiftService;
-    @Autowired
-    private RedisUtil redisUtil;
-    @Autowired
-    private ForkLiftAction forkLiftAction;
-
-    @PostMapping("/table/lift/state")
-    @ManagerAuth(memo = "鎻愬崌鏈轰俊鎭〃")
-    public R liftStateTable(){
-        ArrayList<JSONObject> list = new ArrayList<>();
-        for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
-            // 琛ㄦ牸琛�
-            JSONObject baseObj = new JSONObject();
-            baseObj.put("shuttleNo", slave.getId());
-            list.add(baseObj);
-            // 鑾峰彇鎻愬崌鏈轰俊鎭�
-            ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
-            if (forkLiftThread == null) {
-                continue;
-            }
-            ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-            if (forkLiftProtocol == null) {
-                continue;
-            }
-            JSONObject data = JSON.parseObject(JSON.toJSONString(forkLiftProtocol));
-            List<ForkLiftStaProtocol> forkLiftStaProtocols = forkLiftThread.getForkLiftStaProtocols();
-            data.put("forkLiftStaProtocols", forkLiftStaProtocols);
-            baseObj.putAll(data);
-        }
-        return R.ok().add(list);
-    }
-
-    @PostMapping("/table/lift/msg")
-    @ManagerAuth(memo = "鎻愬崌鏈烘暟鎹〃")
-    public R liftMsgTable(){
-        List<LiftMsgTableVo> list = new ArrayList<>();
-        for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
-            // 琛ㄦ牸琛�
-            LiftMsgTableVo vo = new LiftMsgTableVo();
-            vo.setLiftNo(slave.getId());   //  鎻愬崌鏈哄彿
-            list.add(vo);
-            // 鑾峰彇鎻愬崌鏈轰俊鎭�
-            ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
-            if (forkLiftThread == null) {
-                continue;
-            }
-            ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-            if (forkLiftProtocol == null) {
-                continue;
-            }
-
-            vo.setWorkNo(forkLiftProtocol.getTaskNo());//浠诲姟鍙�
-            vo.setPakMk(forkLiftProtocol.getPakMk()?"Y" : "N");    // 浣滀笟鏍囪
-            vo.setForkLiftStaProtocols(forkLiftThread.getForkLiftStaProtocols());
-        }
-        return R.ok().add(list);
-    }
-
-    @PostMapping("/output/lift")
-    @ManagerAuth
-    public R liftOutput(){
-        StringBuilder str = new StringBuilder();
-        String s;
-        int i = 0;
-        while((s = OutputQueue.LIFT.poll()) != null && i <=10) {
-            str.append("\n").append(s);
-            i++;
-        }
-        return R.ok().add(str.toString());
-    }
-
-    @GetMapping("/detl/{liftNo}")
-    public R liftDetl(@PathVariable("liftNo") Integer liftNo){
-        LiftDataVo vo = new LiftDataVo();
-        for (ForkLiftSlave liftSlave : slaveProperties.getForkLift()) {
-            if (liftNo.equals(liftSlave.getId())) {
-                vo.setLiftNo(liftSlave.getId());
-                BasLift basLift = basLiftService.selectById(liftSlave.getId());
-                if (!Cools.isEmpty(basLift)) {
-                    vo.setWorkNo(basLift.getWrkNo());
-                    vo.setPakMk(basLift.getPakMk());
-                }
-                break;
-            }
-        }
-        return R.ok().add(vo);
-    }
-
-    @GetMapping("/sensor/detl/{liftNo}")
-    public R liftSensorDetl(@PathVariable("liftNo") Integer liftNo){
-        LiftSensorDataVo vo = new LiftSensorDataVo();
-        for (ForkLiftSlave liftSlave : slaveProperties.getForkLift()) {
-            if (liftNo.equals(liftSlave.getId())) {
-                vo.setLiftNo(liftSlave.getId());
-                // 鑾峰彇鎻愬崌鏈轰俊鎭�
-                ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftSlave.getId());
-                if (forkLiftThread == null) {
-                    return R.error("璁惧涓嶅湪绾�");
-                }
-                ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-                if (forkLiftProtocol == null) {
-                    return R.error("璁惧涓嶅湪绾�");
-                }
-
-                break;
-            }
-        }
-        return R.ok().add(vo);
-    }
-
-    @PostMapping("/detl/update")
-    @ManagerAuth(memo = "淇敼鏁版嵁")
-    public R liftUpdate(@RequestParam Integer liftNo,
-                        @RequestParam Short workNo) {
-        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
-        if (forkLiftThread == null) {
-            return R.error("plc宸叉帀绾�");
-        }
-        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-        if (forkLiftProtocol == null) {
-            return R.error("plc宸叉帀绾�");
-        }
-        if (workNo != null) {
-            forkLiftThread.setSyncTaskNo(workNo.intValue());
-        }
-        return R.ok();
-    }
-
-    @RequestMapping(value = "/command/query")
-    public R liftCommandQuery(@RequestParam("wrkNo") Integer wrkNo) {
-        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
-        if (o == null) {
-            return R.error();
-        }
-        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
-        return R.ok().add(redisCommand);
-    }
-
-    //鍥為��鍛戒护
-    @RequestMapping(value = "/command/rollback")
-    public R liftCommandRollback(@RequestParam("wrkNo") Integer wrkNo
-            , @RequestParam("commandStep") Integer commandStep) {
-        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
-        if (o == null) {
-            return R.error();
-        }
-        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
-        redisCommand.setCommandStep(commandStep);
-        redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo, JSON.toJSONString(redisCommand));
-        return R.ok();
-    }
-
-    //鍛戒护瀹屾垚鐘舵�佸垏鎹�
-    @RequestMapping(value = "/command/completeSwitch")
-    public R liftCommandCompleteSwitch(@RequestParam("wrkNo") Integer wrkNo
-            , @RequestParam("commandStep") Integer commandStep
-            , @RequestParam("complete") Integer complete) {
-        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
-        if (o == null) {
-            return R.error();
-        }
-        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
-        LiftAssignCommand assignCommand = redisCommand.getAssignCommand();
-        List<ForkLiftCommand> commands = assignCommand.getCommands();
-        ForkLiftCommand command = commands.get(commandStep);
-        command.setComplete(complete != 0);
-        redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo, JSON.toJSONString(redisCommand));
-        return R.ok();
-    }
-
-    //閲嶅惎浠诲姟(鍛戒护)
-    @RequestMapping(value = "/command/restart")
-    public R liftCommandCompleteSwitch(@RequestParam("wrkNo") Integer wrkNo) {
-        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
-        if (o == null) {
-            return R.error();
-        }
-        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
-        Short liftNo = redisCommand.getLiftNo();
-        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo.intValue());
-        if (forkLiftThread == null) {
-            return R.error();
-        }
-        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-        if (forkLiftProtocol == null) {
-            return R.error();
-        }
-        if (!forkLiftThread.isIdle()) {
-            return R.error();
-        }
-        //鎻愬崌鏈哄浜庣┖闂茬姸鎬侊紝杩涜浠诲姟鐨勬仮澶�
-        forkLiftThread.setSyncTaskNo(redisCommand.getWrkNo().intValue());//灏嗘彁鍗囨満绾跨▼鍒嗛厤浠诲姟鍙�
-        return R.ok();
-    }
-
-    //鍒犻櫎浠诲姟(鍛戒护)
-    @RequestMapping(value = "/command/del")
-    public R liftCommandDel(@RequestParam("wrkNo") Integer wrkNo) {
-        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
-        if (o == null) {
-            return R.error();
-        }
-        redisUtil.del(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
-        return R.ok();
-    }
-
-    /****************************************************************/
-    /************************** 鎵嬪姩鎿嶄綔 ******************************/
-    /****************************************************************/
-
-    @ManagerAuth(memo = "鎵嬪姩鎿嶄綔")
-    @PostMapping("/operator/lift")
-    public R liftOperator(LiftOperatorParam param){
-        if (Cools.isEmpty(param.getLiftNo())) {
-            return R.parse(BaseRes.PARAM);
-        }
-
-        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, param.getLiftNo());
-        if (forkLiftThread == null) {
-            throw new CoolException("鎻愬崌鏈轰笉鍦ㄧ嚎");
-        }
-        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
-        if (forkLiftProtocol == null) {
-            throw new CoolException("鎻愬崌鏈轰笉鍦ㄧ嚎");
-        }
-
-        if (param.getLiftTaskMode() == 1) {
-            //灏忚溅鎹㈠眰
-            int workNo = commonService.getWorkNo(99);//鑾峰彇浠诲姟鍙�
-
-            Integer startSta = param.getSourceStaNo();
-            Integer targetSta = param.getStaNo();
-
-            //鑾峰彇鎻愬崌鏈哄懡浠�
-            List<ForkLiftCommand> liftCommand = forkLiftThread.getShuttleSwitchCommand(workNo, startSta, targetSta);
-            ArrayList<ForkLiftCommand> commands = new ArrayList<>();
-            commands.addAll(liftCommand);
-
-            //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
-            LiftAssignCommand assignCommand = new LiftAssignCommand();
-            assignCommand.setCommands(commands);
-            assignCommand.setLiftNo(forkLiftProtocol.getLiftNo().shortValue());
-            assignCommand.setTaskNo((short) workNo);
-            assignCommand.setAuto(false);//鎵嬪姩妯″紡
-            assignCommand.setTaskMode(ForkLiftTaskModeType.SHUTTLE_SWITCH.id.shortValue());
-
-            forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand);
-            return R.ok();
-        } else if (param.getLiftTaskMode() == 2) {
-            //绉诲姩鎵樼洏
-            int workNo = commonService.getWorkNo(99);//鑾峰彇浠诲姟鍙�
-
-            Integer startSta = param.getSourceStaNo();
-            Integer targetSta = param.getStaNo();
-
-            //鑾峰彇鎻愬崌鏈哄懡浠�
-            List<ForkLiftCommand> liftCommand = forkLiftThread.getPickAndPutCommand(workNo, startSta, targetSta);
-            ArrayList<ForkLiftCommand> commands = new ArrayList<>();
-            commands.addAll(liftCommand);
-
-            //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
-            LiftAssignCommand assignCommand = new LiftAssignCommand();
-            assignCommand.setCommands(commands);
-            assignCommand.setLiftNo(forkLiftProtocol.getLiftNo().shortValue());
-            assignCommand.setTaskNo((short) workNo);
-            assignCommand.setAuto(false);//鎵嬪姩妯″紡
-            assignCommand.setTaskMode(ForkLiftTaskModeType.PICK_PUT.id.shortValue());
-
-            forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand);
-            return R.ok();
-        } else if (param.getLiftTaskMode() == 3) {
-            //浠诲姟纭
-            forkLiftThread.reset();
-            return R.ok();
-        } else if (param.getLiftTaskMode() == 0) {
-            //鎻愬崌鏈哄浣�
-            forkLiftThread.setSyncTaskNo(0);
-            forkLiftThread.setProtocolStatus(ForkLiftProtocolStatusType.IDLE);
-            return R.ok();
-        } else {
-            throw new CoolException("鏈煡鍛戒护");
-        }
-    }
-
-}
+//package com.zy.asrs.controller;
+//
+//import com.alibaba.fastjson.JSON;
+//import com.alibaba.fastjson.JSONObject;
+//import com.core.annotations.ManagerAuth;
+//import com.core.common.BaseRes;
+//import com.core.common.Cools;
+//import com.core.common.R;
+//import com.core.exception.CoolException;
+//import com.zy.asrs.domain.param.LiftOperatorParam;
+//import com.zy.asrs.domain.vo.*;
+//import com.zy.asrs.entity.BasLift;
+//import com.zy.asrs.service.BasLiftService;
+//import com.zy.common.service.CommonService;
+//import com.zy.common.utils.RedisUtil;
+//import com.zy.core.action.ForkLiftAction;
+//import com.zy.core.cache.OutputQueue;
+//import com.zy.core.cache.SlaveConnection;
+//import com.zy.core.enums.ForkLiftProtocolStatusType;
+//import com.zy.core.enums.ForkLiftTaskModeType;
+//import com.zy.core.enums.RedisKeyType;
+//import com.zy.core.enums.SlaveType;
+//import com.zy.core.model.ForkLiftSlave;
+//import com.zy.core.model.command.*;
+//import com.zy.core.model.protocol.ForkLiftProtocol;
+//import com.zy.core.model.protocol.ForkLiftStaProtocol;
+//import com.zy.core.properties.SlaveProperties;
+//import com.zy.core.thread.ForkLiftThread;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.web.bind.annotation.*;
+//
+//import java.util.ArrayList;
+//import java.util.List;
+//
+///**
+// * 璐у弶鎻愬崌鏈烘帴鍙�
+// */
+//@Slf4j
+//@RestController
+//@RequestMapping("/forkLift")
+//public class ForkLiftController {
+//
+//    @Autowired
+//    private CommonService commonService;
+//    @Autowired
+//    private SlaveProperties slaveProperties;
+//    @Autowired
+//    private BasLiftService basLiftService;
+//    @Autowired
+//    private RedisUtil redisUtil;
+//    @Autowired
+//    private ForkLiftAction forkLiftAction;
+//
+//    @PostMapping("/table/lift/state")
+//    @ManagerAuth(memo = "鎻愬崌鏈轰俊鎭〃")
+//    public R liftStateTable(){
+//        ArrayList<JSONObject> list = new ArrayList<>();
+//        for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
+//            // 琛ㄦ牸琛�
+//            JSONObject baseObj = new JSONObject();
+//            baseObj.put("shuttleNo", slave.getId());
+//            list.add(baseObj);
+//            // 鑾峰彇鎻愬崌鏈轰俊鎭�
+//            ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
+//            if (forkLiftThread == null) {
+//                continue;
+//            }
+//            ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//            if (forkLiftProtocol == null) {
+//                continue;
+//            }
+//            JSONObject data = JSON.parseObject(JSON.toJSONString(forkLiftProtocol));
+//            List<ForkLiftStaProtocol> forkLiftStaProtocols = forkLiftThread.getForkLiftStaProtocols();
+//            data.put("forkLiftStaProtocols", forkLiftStaProtocols);
+//            baseObj.putAll(data);
+//        }
+//        return R.ok().add(list);
+//    }
+//
+//    @PostMapping("/table/lift/msg")
+//    @ManagerAuth(memo = "鎻愬崌鏈烘暟鎹〃")
+//    public R liftMsgTable(){
+//        List<LiftMsgTableVo> list = new ArrayList<>();
+//        for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
+//            // 琛ㄦ牸琛�
+//            LiftMsgTableVo vo = new LiftMsgTableVo();
+//            vo.setLiftNo(slave.getId());   //  鎻愬崌鏈哄彿
+//            list.add(vo);
+//            // 鑾峰彇鎻愬崌鏈轰俊鎭�
+//            ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
+//            if (forkLiftThread == null) {
+//                continue;
+//            }
+//            ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//            if (forkLiftProtocol == null) {
+//                continue;
+//            }
+//
+//            vo.setWorkNo(forkLiftProtocol.getTaskNo());//浠诲姟鍙�
+//            vo.setPakMk(forkLiftProtocol.getPakMk()?"Y" : "N");    // 浣滀笟鏍囪
+//            vo.setForkLiftStaProtocols(forkLiftThread.getForkLiftStaProtocols());
+//        }
+//        return R.ok().add(list);
+//    }
+//
+//    @PostMapping("/output/lift")
+//    @ManagerAuth
+//    public R liftOutput(){
+//        StringBuilder str = new StringBuilder();
+//        String s;
+//        int i = 0;
+//        while((s = OutputQueue.LIFT.poll()) != null && i <=10) {
+//            str.append("\n").append(s);
+//            i++;
+//        }
+//        return R.ok().add(str.toString());
+//    }
+//
+//    @GetMapping("/detl/{liftNo}")
+//    public R liftDetl(@PathVariable("liftNo") Integer liftNo){
+//        LiftDataVo vo = new LiftDataVo();
+//        for (ForkLiftSlave liftSlave : slaveProperties.getForkLift()) {
+//            if (liftNo.equals(liftSlave.getId())) {
+//                vo.setLiftNo(liftSlave.getId());
+//                BasLift basLift = basLiftService.selectById(liftSlave.getId());
+//                if (!Cools.isEmpty(basLift)) {
+//                    vo.setWorkNo(basLift.getWrkNo());
+//                    vo.setPakMk(basLift.getPakMk());
+//                }
+//                break;
+//            }
+//        }
+//        return R.ok().add(vo);
+//    }
+//
+//    @GetMapping("/sensor/detl/{liftNo}")
+//    public R liftSensorDetl(@PathVariable("liftNo") Integer liftNo){
+//        LiftSensorDataVo vo = new LiftSensorDataVo();
+//        for (ForkLiftSlave liftSlave : slaveProperties.getForkLift()) {
+//            if (liftNo.equals(liftSlave.getId())) {
+//                vo.setLiftNo(liftSlave.getId());
+//                // 鑾峰彇鎻愬崌鏈轰俊鎭�
+//                ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftSlave.getId());
+//                if (forkLiftThread == null) {
+//                    return R.error("璁惧涓嶅湪绾�");
+//                }
+//                ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//                if (forkLiftProtocol == null) {
+//                    return R.error("璁惧涓嶅湪绾�");
+//                }
+//
+//                break;
+//            }
+//        }
+//        return R.ok().add(vo);
+//    }
+//
+//    @PostMapping("/detl/update")
+//    @ManagerAuth(memo = "淇敼鏁版嵁")
+//    public R liftUpdate(@RequestParam Integer liftNo,
+//                        @RequestParam Short workNo) {
+//        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo);
+//        if (forkLiftThread == null) {
+//            return R.error("plc宸叉帀绾�");
+//        }
+//        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//        if (forkLiftProtocol == null) {
+//            return R.error("plc宸叉帀绾�");
+//        }
+//        if (workNo != null) {
+//            forkLiftThread.setSyncTaskNo(workNo.intValue());
+//        }
+//        return R.ok();
+//    }
+//
+//    @RequestMapping(value = "/command/query")
+//    public R liftCommandQuery(@RequestParam("wrkNo") Integer wrkNo) {
+//        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
+//        if (o == null) {
+//            return R.error();
+//        }
+//        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
+//        return R.ok().add(redisCommand);
+//    }
+//
+//    //鍥為��鍛戒护
+//    @RequestMapping(value = "/command/rollback")
+//    public R liftCommandRollback(@RequestParam("wrkNo") Integer wrkNo
+//            , @RequestParam("commandStep") Integer commandStep) {
+//        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
+//        if (o == null) {
+//            return R.error();
+//        }
+//        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
+//        redisCommand.setCommandStep(commandStep);
+//        redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo, JSON.toJSONString(redisCommand));
+//        return R.ok();
+//    }
+//
+//    //鍛戒护瀹屾垚鐘舵�佸垏鎹�
+//    @RequestMapping(value = "/command/completeSwitch")
+//    public R liftCommandCompleteSwitch(@RequestParam("wrkNo") Integer wrkNo
+//            , @RequestParam("commandStep") Integer commandStep
+//            , @RequestParam("complete") Integer complete) {
+//        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
+//        if (o == null) {
+//            return R.error();
+//        }
+//        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
+//        LiftAssignCommand assignCommand = redisCommand.getAssignCommand();
+//        List<ForkLiftCommand> commands = assignCommand.getCommands();
+//        ForkLiftCommand command = commands.get(commandStep);
+//        command.setComplete(complete != 0);
+//        redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo, JSON.toJSONString(redisCommand));
+//        return R.ok();
+//    }
+//
+//    //閲嶅惎浠诲姟(鍛戒护)
+//    @RequestMapping(value = "/command/restart")
+//    public R liftCommandCompleteSwitch(@RequestParam("wrkNo") Integer wrkNo) {
+//        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
+//        if (o == null) {
+//            return R.error();
+//        }
+//        LiftRedisCommand redisCommand = JSON.parseObject(o.toString(), LiftRedisCommand.class);
+//        Short liftNo = redisCommand.getLiftNo();
+//        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo.intValue());
+//        if (forkLiftThread == null) {
+//            return R.error();
+//        }
+//        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//        if (forkLiftProtocol == null) {
+//            return R.error();
+//        }
+//        if (!forkLiftThread.isIdle()) {
+//            return R.error();
+//        }
+//        //鎻愬崌鏈哄浜庣┖闂茬姸鎬侊紝杩涜浠诲姟鐨勬仮澶�
+//        forkLiftThread.setSyncTaskNo(redisCommand.getWrkNo().intValue());//灏嗘彁鍗囨満绾跨▼鍒嗛厤浠诲姟鍙�
+//        return R.ok();
+//    }
+//
+//    //鍒犻櫎浠诲姟(鍛戒护)
+//    @RequestMapping(value = "/command/del")
+//    public R liftCommandDel(@RequestParam("wrkNo") Integer wrkNo) {
+//        Object o = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
+//        if (o == null) {
+//            return R.error();
+//        }
+//        redisUtil.del(RedisKeyType.FORK_LIFT_WORK_FLAG.key + wrkNo);
+//        return R.ok();
+//    }
+//
+//    /****************************************************************/
+//    /************************** 鎵嬪姩鎿嶄綔 ******************************/
+//    /****************************************************************/
+//
+//    @ManagerAuth(memo = "鎵嬪姩鎿嶄綔")
+//    @PostMapping("/operator/lift")
+//    public R liftOperator(LiftOperatorParam param){
+//        if (Cools.isEmpty(param.getLiftNo())) {
+//            return R.parse(BaseRes.PARAM);
+//        }
+//
+//        ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, param.getLiftNo());
+//        if (forkLiftThread == null) {
+//            throw new CoolException("鎻愬崌鏈轰笉鍦ㄧ嚎");
+//        }
+//        ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+//        if (forkLiftProtocol == null) {
+//            throw new CoolException("鎻愬崌鏈轰笉鍦ㄧ嚎");
+//        }
+//
+//        if (param.getLiftTaskMode() == 1) {
+//            //灏忚溅鎹㈠眰
+//            int workNo = commonService.getWorkNo(99);//鑾峰彇浠诲姟鍙�
+//
+//            Integer startSta = param.getSourceStaNo();
+//            Integer targetSta = param.getStaNo();
+//
+//            //鑾峰彇鎻愬崌鏈哄懡浠�
+//            List<ForkLiftCommand> liftCommand = forkLiftThread.getShuttleSwitchCommand(workNo, startSta, targetSta);
+//            ArrayList<ForkLiftCommand> commands = new ArrayList<>();
+//            commands.addAll(liftCommand);
+//
+//            //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
+//            LiftAssignCommand assignCommand = new LiftAssignCommand();
+//            assignCommand.setCommands(commands);
+//            assignCommand.setLiftNo(forkLiftProtocol.getLiftNo().shortValue());
+//            assignCommand.setTaskNo((short) workNo);
+//            assignCommand.setAuto(false);//鎵嬪姩妯″紡
+//            assignCommand.setTaskMode(ForkLiftTaskModeType.SHUTTLE_SWITCH.id.shortValue());
+//
+//            forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand);
+//            return R.ok();
+//        } else if (param.getLiftTaskMode() == 2) {
+//            //绉诲姩鎵樼洏
+//            int workNo = commonService.getWorkNo(99);//鑾峰彇浠诲姟鍙�
+//
+//            Integer startSta = param.getSourceStaNo();
+//            Integer targetSta = param.getStaNo();
+//
+//            //鑾峰彇鎻愬崌鏈哄懡浠�
+//            List<ForkLiftCommand> liftCommand = forkLiftThread.getPickAndPutCommand(workNo, startSta, targetSta);
+//            ArrayList<ForkLiftCommand> commands = new ArrayList<>();
+//            commands.addAll(liftCommand);
+//
+//            //鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
+//            LiftAssignCommand assignCommand = new LiftAssignCommand();
+//            assignCommand.setCommands(commands);
+//            assignCommand.setLiftNo(forkLiftProtocol.getLiftNo().shortValue());
+//            assignCommand.setTaskNo((short) workNo);
+//            assignCommand.setAuto(false);//鎵嬪姩妯″紡
+//            assignCommand.setTaskMode(ForkLiftTaskModeType.PICK_PUT.id.shortValue());
+//
+//            forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand);
+//            return R.ok();
+//        } else if (param.getLiftTaskMode() == 3) {
+//            //浠诲姟纭
+//            forkLiftThread.reset();
+//            return R.ok();
+//        } else if (param.getLiftTaskMode() == 0) {
+//            //鎻愬崌鏈哄浣�
+//            forkLiftThread.setSyncTaskNo(0);
+//            forkLiftThread.setProtocolStatus(ForkLiftProtocolStatusType.IDLE);
+//            return R.ok();
+//        } else {
+//            throw new CoolException("鏈煡鍛戒护");
+//        }
+//    }
+//
+//}

--
Gitblit v1.9.1