lsh
2024-04-22 10dab7d3386ef06679c9d9a78c0dbf94e473aeeb
#按钮
8个文件已修改
177 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/RgvController.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/AuthController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensRgvThread.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/controller/LicenseCreatorController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/deviceOperate/rgvOperate.html 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -124,7 +124,7 @@
        }
//        List<Map<String, Object>> res = new ArrayList<>();
        for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
            if (rgvSlave.getId() == rgvNo){
            if (rgvSlave.getId().equals(rgvNo)){
                rgvSlave.setDemo(true);
            }
        }
@@ -137,13 +137,85 @@
        }
//        List<Map<String, Object>> res = new ArrayList<>();
        for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
            if (rgvSlave.getId() == rgvNo){
            if (rgvSlave.getId().equals(rgvNo)){
                rgvSlave.setDemo(false);
            }
        }
        return R.ok();
    }
    @GetMapping("/demo/status/rgvStatus")
    public R demoStatusTrue1(Integer rgvNo,Integer status){
        if (Cools.isEmpty(rgvNo)){
            return R.error("请选择rgv");
        }
        if (Cools.isEmpty(status)){
            return R.error("选择按钮有误");
        }
//        List<Map<String, Object>> res = new ArrayList<>();
        for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
            // 获取RGV信息
            SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
            if (rgvThread == null) {
                throw new CoolException("RGV不在线");
            }
            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
            if (rgvProtocol == null) {
                throw new CoolException("RGV不在线");
            }
            String DB = "";
            if (rgvSlave.getId().equals(rgvNo)){
               switch (status){
                   case 5://强制启动
                       DB="4.4";
                       break;
//                   case 6://复位信号
//                       DB="4.5";
//                       break;
                   case 7://报警消音
                       DB="4.6";
                       break;
                   case 8://启动
                       DB="4.7";
                       break;
                   case 9://停止
                       DB="5.0";
                       break;
                   case 10://急停
                       DB="5.1";
                       break;
                   case 11://复位按钮
                       DB="5.2";
                       break;
                   case 12://手动
                       DB="5.3";
                       break;
                   case 13://手动定位
                       DB="5.4";
                       break;
                   case 14://单机
                       DB="5.5";
                       break;
                   case 15://联机
                       DB="5.6";
                       break;
                   case 16://货叉定位回中
                       DB="5.7";
                       break;
                   default:
                       return R.error("按钮不存在????!!!");
               }
               if (MessageQueue.offer(SlaveType.Rgv, rgvNo, new Task(10, DB))) {
                   return R.ok();
               } else {
                   return R.error("命令下发失败");
               }
            }
        }
        return R.ok();
    }
    @PostMapping("/demo/switch")
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -87,7 +87,6 @@
                for (RgvSlave rgv : slaveProperties.getRgv()) {
                    if (!rgv.getDemo()){
                        continue;
                    }
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
src/main/java/com/zy/common/web/AuthController.java
@@ -54,11 +54,11 @@
    @ManagerAuth(value = ManagerAuth.Auth.NONE, memo = "登录")
    public R loginAction(String mobile, String password){
        //验证许可证是否有效
        LicenseVerify licenseVerify = new LicenseVerify();
        boolean verify = licenseVerify.verify();
        if (!verify) {//许可证已失效
            return R.parse(CodeRes.SYSTEM_20001);
        }
//        LicenseVerify licenseVerify = new LicenseVerify();
//        boolean verify = licenseVerify.verify();
//        if (!verify) {//许可证已失效
//            return R.parse(CodeRes.SYSTEM_20001);
//        }
        if (mobile.equals("super") && password.equals(Cools.md5(superPwd))) {
            Map<String, Object> res = new HashMap<>();
            res.put("username", mobile);
src/main/java/com/zy/core/thread/SiemensRgvThread.java
@@ -5,6 +5,7 @@
import HslCommunication.Profinet.Siemens.SiemensPLCS;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.BasRgv;
@@ -113,6 +114,9 @@
//                        commandAvoidanceXY.setDestinationStaNo2((short)0);     // 目标站
                        commandAvoidanceXY.setCommand((short)0);
                        write(commandAvoidanceXY);
                        break;
                    case 10:
                        write10((String) task.getData());
                        break;
                    default:
                        break;
@@ -460,6 +464,26 @@
        }
    }
    //小车强制、复位、报警消音、启动、停止、急停、复位、手动、手动定位、单机、联机、货叉回中
    private boolean write10(String status) throws InterruptedException {
        if (Cools.isEmpty(status)) {
            log.error("RGV写入命令为空");
            return false;
        }
        OperateResult result = siemensNet.Write("DB19."+status, true);
        if (result != null && result.IsSuccess) {
            Thread.sleep(200);
            this.readStatus();
            log.info("RGV 命令下发[id:{}] >>>>> {}", slave.getId(), JSON.toJSON("DB19."+status));
            OutputQueue.RGV.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), slave.getId(), "DB19."+status));
            return true;
        } else {
            OutputQueue.RGV.offer(MessageFormat.format("【{0}】写入RGV plc数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}] [DB块:{4}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), "DB19."+status));
            log.error("写入RGV plc数据失败 ===>> [id:{}] [ip:{}] [port:{}] [DB块:{4}]", slave.getId(), slave.getIp(), slave.getPort(), "DB19."+status);
            return false;
        }
    }
    @Override
    public void close() {
        siemensNet.ConnectClose();
src/main/java/com/zy/system/controller/LicenseCreatorController.java
@@ -61,6 +61,9 @@
     */
    @RequestMapping(value = "/getLicenseDays")
    public R getLicenseDays() {
        if (true){
            return R.ok().add(0);
        }
        LicenseVerify licenseVerify = new LicenseVerify();
        LicenseContent verifyInfo = licenseVerify.getVerifyInfo();
        if (verifyInfo == null) {
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
@@ -79,11 +79,12 @@
                LicenseVerify licenseVerify = new LicenseVerify();
                //安装证书
                LicenseContent install = licenseVerify.install(param);
//                LicenseContent install = licenseVerify.install(param);
                logger.info("++++++++ 许可证加载结束 ++++++++");
                return install != null;
//                return install != null;
                return true;
            } catch (Exception e) {
                return false;
            }
src/main/resources/application.yml
@@ -8,7 +8,7 @@
    name: @pom.build.finalName@
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=ghtzasrs
    url: jdbc:sqlserver://192.168.4.15:1433;databasename=ssdasrs
    username: sa
    password: sa@123
  mvc:
@@ -37,7 +37,7 @@
#License相关配置
license:
  subject: ghtzwcs
  subject: ssdwcs
  publicAlias: publicCert
  storePass: public_zhongyang_123456789
  licensePath: license.lic
src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -54,8 +54,25 @@
                        </el-form>
                        <div>
                            <el-button v-if="demo === 'N' " @click="demos('true')" type="warning">演示</el-button>
                            <el-button v-if="demo === 'Y' " @click="demos('false')" type="warning">取消演示</el-button>
                            <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">
                            <el-button v-if="demo === 'N' " @click="rgvStatus(8)" type="primary">启动</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(9)" type="primary">停止</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(14)" type="primary">单机</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(15)" type="primary">联机</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(11)" type="primary">复位按钮</el-button>
                        </div>
                        <div style="margin: 10px auto 10px auto">
                            <el-button v-if="demo === 'N' " @click="rgvStatus(7)" type="warning">报警消音</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(12)" type="warning">手动</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(13)" type="warning">手动定位</el-button>
                        </div>
                        <div style="margin: 10px auto 10px auto">
                            <el-button v-if="demo === 'N' " :style="" @click="rgvStatus(5)" type="danger">强制启动</el-button>
                            <el-button v-if="demo === 'N' " @click="rgvStatus(10)" type="danger">急停</el-button>
                            <el-button v-if="demo === 'N' " @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>
@@ -310,6 +327,39 @@
                        });
                    })
                },
                rgvStatus(method){
                    let that = this
                    that.$confirm('此操作存在风险,是否继续','提示',{
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(()=>{
                        $.ajax({
                            url: baseUrl + "/rgv/demo/status/rgvStatus",
                            headers: {
                                'token': localStorage.getItem('token')
                            },
                            data:{
                                rgvNo : this.formParam.rgvNo,
                                status : Number(method)
                            },
                            method: 'Get',
                            success: function (res) {
                                if (res.code == 200) {
                                    that.$message({
                                        message: res.msg,
                                        type: 'success'
                                    });
                                } else {
                                    that.$message({
                                        message: res.msg,
                                        type: 'error'
                                    });
                                }
                            }
                        });
                    })
                },
                requestOperate(method) {
                    let that = this
                    that.$confirm('此操作存在风险,是否继续','提示',{