#
luxiaotao1123
2020-08-20 5b17b77e1eec4980eeb06d6b3bdbde4d1ce190ca
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -31,7 +31,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * 堆垛机接口
@@ -41,7 +40,7 @@
@RestController
@RequestMapping("/crn")
public class CrnController {
    private static AtomicInteger integer = new AtomicInteger();
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
@@ -100,7 +99,7 @@
                    vo.setStatusType(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态
                }
            } else {
                vo.setStatusType(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.AUTO.getDesc(): CrnStatusType.UN_AUTO.getDesc());   //  模式状态
                vo.setStatusType(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态
            }
            vo.setStatus(crnProtocol.getStatusType().desc);     //  状态
            vo.setWarn(""); //  报警 todo
@@ -142,7 +141,7 @@
                    vo.setLocNo(wrkMast.getLocNo());    //  目标库位
                }
            } else {
                vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.AUTO.getDesc(): CrnStatusType.UN_AUTO.getDesc());   //  模式状态
                vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态
            }
            list.add(vo);
@@ -156,11 +155,10 @@
        StringBuilder str = new StringBuilder();
        String s;
        int i = 0;
        while( (s = OutputQueue.CRN.poll()) != null && i <=10) {
        while((s = OutputQueue.CRN.poll()) != null && i <=10) {
            str.append("\n").append(s);
            i++;
        }
//        str = new StringBuilder("\n" + new Date().toLocaleString() + "【2020-5-29 13:14:22】扫描plcA 目标站--273283723728327636432343234323422732837237283276364323432343234227328372372832763643234323432342");
        return R.ok().add(str.toString());
    }
@@ -237,23 +235,6 @@
        return crnControl(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "坐标移动")
    @PostMapping("/operator/coorMove")
    public R crnCoorMove(CrnOperatorParam param){
        CrnCommand command = new CrnCommand();
        command.setCrnNo(param.getCrnNo()); // 堆垛机编号
        command.setTaskNo((short) 0); // 工作号
        command.setAckFinish((short) 0);  // 任务完成确认位
        command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 任务模式
        command.setSourcePosX((short) 0);     // 源库位排
        command.setSourcePosY(param.getSourceBay());     // 源库位列
        command.setSourcePosZ(param.getSourceLev());     // 源库位层
        command.setDestinationPosX((short) 0);     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        return crnControl(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "回原点")
    @PostMapping("/operator/bacOrigin")
    public R crnBacOrigin(CrnOperatorParam param){
@@ -267,7 +248,7 @@
        command.setSourcePosZ((short) 0);     // 源库位层
        command.setDestinationPosX((short) 0);     // 目标库位排
        command.setDestinationPosY((short) 0);     // 目标库位列
        command.setDestinationPosZ((short) 1);     // 目标库位层
        command.setDestinationPosZ((short) 0);     // 目标库位层
        return crnControl(command)?R.ok():R.error();
    }
@@ -288,6 +269,23 @@
        return crnControl(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "坐标移动")
    @PostMapping("/operator/coorMove")
    public R crnCoorMove(CrnOperatorParam param){
        CrnCommand command = new CrnCommand();
        command.setCrnNo(param.getCrnNo()); // 堆垛机编号
        command.setTaskNo((short) 0); // 工作号
        command.setAckFinish((short) 0);  // 任务完成确认位
        command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 任务模式
        command.setSourcePosX(param.getSourceRow());     // 源库位排
        command.setSourcePosY(param.getSourceBay());     // 源库位列
        command.setSourcePosZ(param.getSourceLev());     // 源库位层
        command.setDestinationPosX(param.getRow());     // 目标库位排
        command.setDestinationPosY(param.getBay());     // 目标库位列
        command.setDestinationPosZ(param.getLev());     // 目标库位层
        return crnControl(command)?R.ok():R.error();
    }
    @ManagerAuth(memo = "任务完成")
    @PostMapping("/operator/taskComplete")
    public R crnTaskComplete(CrnOperatorParam param){