lsh
2024-04-23 2292af803eeb7ead884113665b57c9770a313828
#按钮
3个文件已修改
231 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/RgvController.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/RgvSlave.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/deviceOperate/rgvOperate.html 157 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -104,17 +104,27 @@
    @GetMapping("/demo/status")
    public R demoStatus(Integer rgvNo){
        Map<String,Object> map = new HashMap<>();
        if (Cools.isEmpty(rgvNo)){
            return R.ok("X");
            map.put("demo","X");
            map.put("rgvMode",0);
            return R.ok().add(map);
        }
        String demo = "X";
        Integer rgvMode = 0;
//        List<Map<String, Object>> res = new ArrayList<>();
        for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
            if (rgvSlave.getId() == rgvNo){
            SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
            if (rgvSlave.getId().equals(rgvNo)){
               demo = rgvSlave.getDemo()?"Y":"N";
               rgvSlave.setRgvMode(rgvProtocol.getMode().intValue());
               rgvMode = rgvProtocol.getMode().intValue();
            }
        }
        return R.ok(demo);
        map.put("demo",demo);
        map.put("rgvMode",rgvMode);
        return R.ok().add(map);
    }
    @GetMapping("/demo/status/true")
@@ -189,15 +199,18 @@
                       break;
                   case 12://手动
                       DB="5.3";
                       rgvSlave.setRgvMode(3);
                       break;
                   case 13://手动定位
                       DB="5.4";
                       break;
                   case 14://单机
                       DB="5.5";
                       rgvSlave.setRgvMode(2);
                       break;
                   case 15://联机
                       DB="5.6";
                       rgvSlave.setRgvMode(1);
                       break;
                   case 16://货叉定位回中
                       DB="5.7";
@@ -261,6 +274,59 @@
        return rgvControl(command)? R.ok(): R.error();
    }
    @ManagerAuth(memo = "取")
    @PostMapping("/operator/single/step/one/put")
    public R rgvFetchSingleStepOnePut(RgvOperatorParam param){
        return rgvFetchSingleStepPut(param,1)?R.ok():R.error();
    }
    @ManagerAuth(memo = "放")
    @PostMapping("/operator/single/step/two/put")
    public R rgvFetchSingleStepTwoPut(RgvOperatorParam param){
        return rgvFetchSingleStepPut(param,2)?R.ok():R.error();
    }
    @ManagerAuth(memo = "X运行")
    @PostMapping("/operator/single/step/three/put")
    public R rgvFetchSingleStepThreePut(RgvOperatorParam param){
        return rgvFetchSingleStepPut(param,3)?R.ok():R.error();
    }
    public boolean rgvFetchSingleStepPut(RgvOperatorParam param ,Integer type){
        wrkNo++;
        RgvCommand command = new RgvCommand();
        RgvTaskModeType fetchPut = RgvTaskModeType.NONE;
        switch (type){
            case 1:
                fetchPut = RgvTaskModeType.FETCH;
                param.setSourceBay(0);
                break;
            case 2:
                fetchPut = RgvTaskModeType.PUT;
                param.setSourceRow(0);
                break;
            case 3:
                fetchPut = RgvTaskModeType.X_MOVE;
                break;
            default:
                return false;
        }
        command.setRgvNo(param.getRgvNo()); // RGV编号
        command.setAckFinish1(false);  // 任务完成确认位
        command.setTaskNo1(wrkNo); // 工作号
        command.setTaskMode1(fetchPut); // 任务模式: 取放货
        command.setSourceStaNo1(param.getSourceRow().shortValue()); // 源站
        command.setDestinationStaNo1(param.getSourceBay().shortValue());  // 目标站
//        command.setAckFinish2((short) 0);  // 任务完成确认位
//        command.setTaskNo2((short) 0); // 工作号
//        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 任务模式: 取放货
//        command.setSourceStaNo2(param.getSourceStaNo2()); // 源站
//        command.setDestinationStaNo2(param.getStaNo2());  // 目标站
        command.setCommand((short) 0);
        return rgvControl(command);
    }
    @ManagerAuth(memo = "复位")
    @PostMapping("/operator/reset")
    public R crnReset(RgvOperatorParam param){
src/main/java/com/zy/core/model/RgvSlave.java
@@ -19,6 +19,8 @@
    private Boolean demo;
    private Integer rgvMode;
    // RGV入库源站点
    private List<RgvStn> rgvInSStn = new ArrayList<>();
src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -38,7 +38,7 @@
                        <span>设备调试</span>
                    </div>
                    <div>
                        <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline">
                        <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline"  v-if="rgvMode !== 2 && rgvMode !== 1 ">
<!--                            <el-form-item label="源站/源库位">-->
<!--                                <el-input v-model="formParam.sourceStaNo" placeholder="源站/源库位"></el-input>-->
<!--                            </el-form-item>-->
@@ -53,43 +53,68 @@
                            </el-form-item>
                        </el-form>
                        <div v-if="rgvMode === 2 ">
                            <el-form :model="formParamD" label-position="top" :inline="true" class="demo-form-inline">
                                <el-form-item label="起始站">
                                    <el-input v-model="formParamD.sourceRow" placeholder="起始站"></el-input>
                                </el-form-item>
                                <el-form-item label="目标站">
                                    <el-input v-model="formParamD.sourceBay" placeholder="目标站"></el-input>
                                </el-form-item>
                                <el-form-item label="启动">
                                    <el-button @click="initiateD(1)" type="warning">取货</el-button>
                                    <el-button @click="initiateD(2)" type="warning">放货</el-button>
                                    <el-button @click="initiateD(3)" type="warning">XY移动</el-button>
                                </el-form-item>
                            </el-form>
                        </div>
                        <div>
                            <el-button v-if="demo === 'N' " @click="demos('true')" type="info">演示</el-button>
                            <el-button v-if="demo === 'Y' " @click="demos('false')" type="info">取消演示</el-button>
                            <el-button v-if="rgvMode === 0 " type="danger">未知</el-button>
                            <el-button v-if="rgvMode === 3 " type="primary">联机</el-button>
                            <el-button v-if="rgvMode === 2 " type="primary">单机</el-button>
                            <el-button v-if="rgvMode === 1 " type="warning">手动</el-button>
                        </div>
                        <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                            <el-button @click="rgvStatus(8)" type="primary">启动</el-button>
                            <el-button @click="rgvStatus(9)" type="primary">停止</el-button>
                            <el-button @click="rgvStatus(14)" type="primary">单机</el-button>
                            <el-button @click="rgvStatus(15)" type="primary">联机</el-button>
                            <el-button @click="rgvStatus(11)" type="primary">复位按钮</el-button>
                        </div>
                        <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                            <el-button @click="rgvStatus(7)" type="warning">报警消音</el-button>
                            <el-button @click="rgvStatus(12)" type="warning">手动</el-button>
                            <el-button @click="rgvStatus(13)" type="warning">手动定位</el-button>
                        </div>
                        <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                            <el-button :style="" @click="rgvStatus(5)" type="danger">强制启动</el-button>
                            <el-button @click="rgvStatus(10)" type="danger">急停</el-button>
                            <el-button @click="rgvStatus(16)" type="danger">货叉定位回中</el-button>
                        </div>
                        <div style="margin-top: 5px" v-if="demo === 'Y'">
                            <el-button  @click="staTova(2,1)" type="warning">输送-置换1</el-button>
                            <el-button  @click="staTova(2,3)" type="warning">输送-置换2</el-button>
                            <el-button  @click="staTova(2,5)" type="warning">输送-置换3</el-button>
                            <el-button  @click="staTova(2,7)" type="warning">输送-置换4</el-button>
                        </div>
                        <div style="margin-top: 5px" v-if="demo === 'Y'">
                            <el-button  @click="staTova(2,4)" type="warning">输送-灌装1</el-button>
                            <el-button  @click="staTova(2,6)" type="warning">输送-灌装2</el-button>
                            <el-button  @click="staTova(2,8)" type="warning">输送-灌装3</el-button>
                        </div>
                        <div style="margin-top: 5px" v-if="demo === 'Y'">
                            <el-button  @click="staTova(1,10)" type="warning">置换1-放货</el-button>
                            <el-button  @click="staTova(2,10)" type="warning">置换2-放货</el-button>
                            <el-button  @click="staTova(3,10)" type="warning">置换3-放货</el-button>
                            <el-button  @click="staTova(4,10)" type="warning">置换4-放货</el-button>
                        <div  v-if="rgvMode !== 0 ">
                            <div>
                                <el-button v-if="demo === 'N' " @click="demos('true')" type="info">演示</el-button>
                                <el-button v-if="demo === 'Y' " @click="demos('false')" type="info">取消演示</el-button>
                            </div>
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                                <el-button v-if="rgvMode !== 3 " @click="rgvStatus(15)" type="primary">联机</el-button>
                                <el-button v-if="rgvMode !== 2 " @click="rgvStatus(14)" type="primary">单机</el-button>
                                <el-button v-if="rgvMode !== 1 " @click="rgvStatus(12)" type="warning">手动</el-button>
                            </div>
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                                <el-button @click="rgvStatus(8)" type="primary">启动</el-button>
                                <el-button @click="rgvStatus(9)" type="primary">停止</el-button>
                                <el-button @click="rgvStatus(11)" type="primary">复位按钮</el-button>
                            </div>
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                                <el-button @click="rgvStatus(7)" type="warning">报警消音</el-button>
                                <el-button v-if="rgvMode === 1 " @click="rgvStatus(13)" type="warning">手动定位</el-button>
                            </div>
                            <div style="margin: 10px auto 10px auto" v-if="demo === 'N' ">
                                <el-button :style="" @click="rgvStatus(5)" type="danger">强制启动</el-button>
                                <el-button @click="rgvStatus(10)" type="danger">急停</el-button>
                                <el-button @click="rgvStatus(16)" type="danger">货叉定位回中</el-button>
                            </div>
                            <div style="margin-top: 5px" v-if="demo === 'Y'">
                                <el-button  @click="staTova(2,1)" type="warning">输送-置换1</el-button>
                                <el-button  @click="staTova(2,3)" type="warning">输送-置换2</el-button>
                                <el-button  @click="staTova(2,5)" type="warning">输送-置换3</el-button>
                                <el-button  @click="staTova(2,7)" type="warning">输送-置换4</el-button>
                            </div>
                            <div style="margin-top: 5px" v-if="demo === 'Y'">
                                <el-button  @click="staTova(2,4)" type="warning">输送-灌装1</el-button>
                                <el-button  @click="staTova(2,6)" type="warning">输送-灌装2</el-button>
                                <el-button  @click="staTova(2,8)" type="warning">输送-灌装3</el-button>
                            </div>
                            <div style="margin-top: 5px" v-if="demo === 'Y'">
                                <el-button  @click="staTova(1,10)" type="warning">置换1-放货</el-button>
                                <el-button  @click="staTova(2,10)" type="warning">置换2-放货</el-button>
                                <el-button  @click="staTova(3,10)" type="warning">置换3-放货</el-button>
                                <el-button  @click="staTova(4,10)" type="warning">置换4-放货</el-button>
                            </div>
                        </div>
                    </div>
                </el-card>
@@ -159,6 +184,20 @@
                    barcodeType:null,
                    emptyContainer:null
                },
                formParamD: {
                    rgvNo: null,
                    sourceStaNo: null,
                    sourceRow: 1,
                    sourceBay: 0,
                    sourceLev: 1,
                    staNo: null,
                    row: 1,
                    bay: 0,
                    lev: 1,
                    barcode:null,
                    barcodeType:null,
                    emptyContainer:null
                },
                enableIn: false,
                enableOut: false,
                options:[
@@ -171,7 +210,8 @@
                        label:'否'
                    }
                ],
                demo: 'X'
                demo: 'X',
                rgvMode: 0
            },
            created() {
                this.init()
@@ -260,8 +300,9 @@
                        contentType: 'application/json;charset=UTF-8',
                        method: 'get',
                        success: function (res) {
                            that.demo = res.msg
                            // console.log(res)
                            that.demo = res.data.demo
                            that.rgvMode = res.data.rgvMode
                        }
                    });
                },
@@ -295,6 +336,44 @@
                        });
                    })
                },
                initiateD(method){
                    let urlS = "/rgv/operator/single/step/three/put";
                    if (method===1){
                        urlS = "/rgv/operator/single/step/one/put";
                    }else if (method === 2){
                        urlS = "/rgv/operator/single/step/two/put";
                    }else if (method === 3){
                        urlS = "/rgv/operator/single/step/three/put";
                    }
                    let that = this
                    that.$confirm('此操作存在风险,是否继续','提示',{
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(()=>{
                        $.ajax({
                            url: baseUrl + urlS,
                            headers: {
                                'token': localStorage.getItem('token')
                            },
                            data: this.formParam,
                            method: 'POST',
                            success: function (res) {
                                if (res.code == 200) {
                                    that.$message({
                                        message: res.msg,
                                        type: 'success'
                                    });
                                } else {
                                    that.$message({
                                        message: res.msg,
                                        type: 'error'
                                    });
                                }
                            }
                        });
                    })
                },
                demos(method){
                    let that = this
                    that.$confirm('此操作存在风险,是否继续','提示',{