1
zhang
1 天以前 ad46ec101f19c65d1c7ecda38608ea9fac7c9ef1
1
6个文件已删除
1个文件已添加
6个文件已修改
209 ■■■■■ 已修改文件
component/component-Influxdb/target/component-Influxdb-1.0.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
component/component-Influxdb/target/maven-archiver/pom.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 补丁 | 查看 | 原始文档 | blame | 历史
component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst 补丁 | 查看 | 原始文档 | blame | 历史
component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-gateway/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/RabbitmqConstant.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-gateway/src/main/resources/application.yml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
component/component-Influxdb/target/component-Influxdb-1.0.0.jar
Binary files differ
component/component-Influxdb/target/maven-archiver/pom.properties
File was deleted
component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
component/component-Influxdb/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
File was deleted
component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
component/component-Influxdb/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
@@ -3,6 +3,7 @@
import com.core.common.R;
import com.zy.asrs.controller.requestParam.StaParam;
import com.zy.asrs.controller.responseParam.StationResponseParam;
import com.zy.asrs.controller.vo.PlcErrorTableVo;
import com.zy.asrs.entity.Job;
import com.zy.asrs.service.JobService;
import com.zy.common.web.BaseController;
@@ -38,7 +39,7 @@
    @ResponseBody
    @PostMapping("/station/getTaskNo")
    public R query(@RequestBody StaParam param) {
        log.info("根据站点查询taskNo:{}", param);
        log.info("根据站点查询staNo:{}", param);
        String staNo = param.getStaNo();
        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
        List<StationResponseParam> list = new ArrayList<>();
@@ -55,4 +56,125 @@
    }
    /**
     * 查询异常
     */
    @ResponseBody
    @PostMapping("/station/getError")
    public R getError(@RequestBody StaParam param) {
        log.info("根据站点查询staNo:{}", param);
        String staNo = param.getStaNo();
        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
        Map<Integer, StaProtocol> station = devpThread.getStation();
        StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
        return R.ok(staPlcErr(staProtocol));
    }
    private List<PlcErrorTableVo> staPlcErr(StaProtocol staProtocol) {
        if (staProtocol == null) {
            return null;
        }
        List<PlcErrorTableVo> list = new ArrayList<>();
        if (staProtocol.getBreakerErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("断路器故障");
            vo.setError("断路器故障");
            list.add(vo);
        }
        if (staProtocol.getInfraredErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("光电异常");
            vo.setError("光电异常");
            list.add(vo);
        }
        if (staProtocol.getOutTimeErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("运行超时");
            vo.setError("运行超时");
            list.add(vo);
        }
        if (staProtocol.getSeizeSeatErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("占位超时");
            vo.setError("占位超时");
            list.add(vo);
        }
        if (staProtocol.getWrkYgoodsN()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("有任务无货故障");
            vo.setError("有任务无货故障");
            list.add(vo);
        }
        if (staProtocol.getInverterErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("变频器故障");
            vo.setError("变频器故障");
            list.add(vo);
        }
        if (staProtocol.getContactErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("电机接触器故障");
            vo.setError("电机接触器故障");
            list.add(vo);
        }
        if (staProtocol.getUpcontactErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("顶升电机接触器故障");
            vo.setError("顶升电机接触器故障");
            list.add(vo);
        }
        if (staProtocol.isFrontErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("前超限");
            vo.setError("前超限");
            list.add(vo);
        }
        if (staProtocol.isBackErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("后超限");
            vo.setError("后超限");
            list.add(vo);
        }
        if (staProtocol.isHighErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("高超限");
            vo.setError("高超限");
            list.add(vo);
        }
        if (staProtocol.isLeftErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("左超限");
            vo.setError("左超限");
            list.add(vo);
        }
        if (staProtocol.isRightErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("右超限");
            vo.setError("右超限");
            list.add(vo);
        }
        if (staProtocol.isBarcodeErr()) {
            PlcErrorTableVo vo = new PlcErrorTableVo();
            vo.setStaNo(staProtocol.getSiteId());   //  序号
            vo.setPlcDesc("扫码失败");
            vo.setError("扫码失败");
            list.add(vo);
        }
        return list;
    }
}
zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java
@@ -9,7 +9,7 @@
public class PlcErrorTableVo {
    // 序号
    private Integer no;
    private Integer staNo;
    // plc异常描述
    private String plcDesc;
zy-acs-gateway/pom.xml
@@ -43,10 +43,10 @@
            <artifactId>acs-common</artifactId>
            <version>1.0.0</version>
        </dependency>
        <!-- SpringBoot RabbitMQ -->
        <dependency>
            <groupId>com.zy</groupId>
            <artifactId>component-Influxdb</artifactId>
            <version>1.0.0</version>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
    </dependencies>
zy-acs-gateway/src/main/java/com/zy/acs/gateway/constant/RabbitmqConstant.java
New file
@@ -0,0 +1,12 @@
package com.zy.acs.gateway.constant;
public class RabbitmqConstant {
    public static final String TOPIC_EXCHANGE = "rcs_topic_exchange";
    public static final String ROUTING_KEY_UP = "rcs.up.*.*";
    public static final String ROUTING_KEY_DOWN = "rcs.down.*.*";
    public static final String SPILT_REGEX = "\\*";
}
zy-acs-gateway/src/main/java/com/zy/acs/gateway/handler/AgvPackageServerHandler.java
@@ -7,12 +7,14 @@
import com.zy.acs.gateway.AbstractInboundHandler;
import com.zy.acs.gateway.Executors;
import com.zy.acs.gateway.constant.ProtocolType;
import com.zy.acs.gateway.constant.RabbitmqConstant;
import com.zy.acs.gateway.domain.AgvPackage;
import com.zy.acs.gateway.process.AckMsgBuilder;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -30,6 +32,11 @@
    @Autowired
    private Executors executors;
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Override
    @SuppressWarnings("all")
@@ -55,12 +62,18 @@
                agv_b1_down.setPathLen(agv_01_up.getPathLen());
                ctx.writeAndFlush(pathAckPac);
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK.name()), agv_01_up);
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PATH_ACK_RESPONSE.name()), agv_b1_down);
                break label;
            case PICK_PLACE_REQUEST:   // 取放货请求包
                AGV_06_UP agv_06_up = (AGV_06_UP) pac.getBody().getMessageBody();
                redis.push(RedisConstant.AGV_COMPLETE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_06_up));
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.PICK_PLACE_REQUEST.name()), agv_06_up);
                break label;
@@ -71,6 +84,8 @@
                redis.setObject(RedisConstant.AGV_CMD_UP_FLAG
                        , pac.getHeader().getUniqueNo() + "_" + agv_02_up.getSerialNo()
                        , agv_02_up);
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.COMMAND_ACK.name()), agv_02_up);
                break label;
@@ -80,6 +95,9 @@
                AGV_11_UP agv_11_up = (AGV_11_UP) pac.getBody().getMessageBody();
                redis.push(RedisConstant.AGV_COMPLETE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_11_up));
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.ACTION_COMPLETE.name()), agv_11_up);
                // 动作完成应答
                if (null != ackType) {
                    AgvPackage ackPac = AckMsgBuilder.ofSuccess(pac, ackType);
@@ -88,8 +106,9 @@
                    agv_a1_down.setAckSign((byte) agv_11_up.getCompleteCode());
                    ctx.writeAndFlush(ackPac);
                }
                    rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), agv_a1_down);
                }
                break label;
@@ -105,6 +124,8 @@
//                    }
//
//                });
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_CODE_REPORT.name()), agv_12_up);
                break label;
@@ -121,6 +142,8 @@
//
//                });
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.DATA_WITHOUT_CODE_REPORT.name()), agv_13_up);
                break label;
@@ -143,6 +166,8 @@
//                    }
//
//                });
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.HEARTBEAT_REPORT.name()), agv_03_up);
                break label;
                
@@ -159,6 +184,8 @@
//
//                });
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.SILO_REPORT.name()), agv_70_up);
                break label;
@@ -166,12 +193,15 @@
                AGV_F0_UP agv_f0_up = (AGV_F0_UP) pac.getBody().getMessageBody();
                redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_f0_up));
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.LOGIN_REPORT.name()), agv_f0_up);
                // 登录应答
                if (null != ackType) {
                    AgvPackage ackPac = AckMsgBuilder.ofSuccess(pac, ackType);
                    ctx.writeAndFlush(ackPac);
                    rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ackType.name()), ackPac.getBody().getMessageBody());
                }
                // 30s redis
@@ -184,6 +214,8 @@
                AGV_04_UP agv_04_up = (AGV_04_UP) pac.getBody().getMessageBody();
                redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_04_up));
                // 写入队列
                rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_UP.replaceFirst(RabbitmqConstant.SPILT_REGEX, uniqueNo).replaceFirst(RabbitmqConstant.SPILT_REGEX, ProtocolType.FAULT_REPORT.name()), agv_04_up);
                break label;
zy-acs-gateway/src/main/java/com/zy/acs/gateway/listen/MessageListener.java
@@ -6,10 +6,14 @@
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.gateway.config.SystemProperties;
import com.zy.acs.gateway.constant.ProtocolType;
import com.zy.acs.gateway.constant.RabbitmqConstant;
import com.zy.acs.gateway.domain.AgvPackage;
import com.zy.acs.gateway.job.DispatcherPublisher;
import com.zy.acs.gateway.utils.ProtocolUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -33,6 +37,10 @@
    @Autowired
    private SystemProperties systemProperties;
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @PostConstruct
    private void start(){
        thread = new Thread(() -> {
@@ -43,7 +51,11 @@
                        log.info("监听器 >>> {}", JSON.toJSONString(protocol));
                    }
                    if (!Cools.isEmpty(protocol.getAgvNo())) {
                        publisher.publish(ProtocolUtils.installDownProtocol(protocol));
                        AgvPackage agvPackage = ProtocolUtils.installDownProtocol(protocol);
                        publisher.publish(agvPackage);
                        // 写入队列
                        rabbitTemplate.convertAndSend(RabbitmqConstant.TOPIC_EXCHANGE, RabbitmqConstant.ROUTING_KEY_DOWN.replaceFirst(RabbitmqConstant.SPILT_REGEX, protocol.getAgvNo()).replaceFirst(RabbitmqConstant.SPILT_REGEX, agvPackage.getHeader().getProtocolType().name()), agvPackage.getBody().getMessageBody());
                    }
                }
                // 间隔
zy-acs-gateway/src/main/resources/application.yml
@@ -10,6 +10,17 @@
    username: root
    password: xltys1995
  rabbitmq:
    host: localhost
    port: 5672
    username: root
    password: xltys1995
    # 虚拟host可以不设置,默认/
    virtual-host: /
    # 生产者确认配置
    publisher-confirm-type: correlated
    publisher-returns: true
eureka:
  client:
    enabled: false