| | |
| | | import com.zy.acs.gateway.constant.ProtocolType; |
| | | import com.zy.acs.gateway.domain.AgvPackage; |
| | | import com.zy.acs.gateway.process.AckMsgBuilder; |
| | | import com.zy.acs.rpc.gateway.control.AgvDataFeignApi; |
| | | import io.netty.channel.ChannelHandler; |
| | | import io.netty.channel.ChannelHandlerContext; |
| | | import org.slf4j.Logger; |
| | |
| | | |
| | | @Autowired |
| | | private Executors executors; |
| | | @Autowired |
| | | private AgvDataFeignApi agvDataFeignApi; |
| | | |
| | | @Override |
| | | @SuppressWarnings("all") |
| | |
| | | |
| | | AGV_01_UP agv_01_up = (AGV_01_UP) pac.getBody().getMessageBody(); |
| | | |
| | | redis.setObject(RedisConstant.AGV_CMD_UP_FLAG |
| | | redis.setObject(RedisConstant.AGV_PATH_UP_FLAG |
| | | , pac.getHeader().getUniqueNo() + "_" + agv_01_up.getSerialNo() |
| | | , agv_01_up); |
| | | |
| | | AgvPackage pathAckPac = AckMsgBuilder.ofSuccess(pac, ProtocolType.PATH_ACK_RESPONSE); |
| | | |
| | | AGV_B1_DOWN agv_b1_down = (AGV_B1_DOWN) pathAckPac.getBody().getMessageBody(); |
| | | agv_b1_down.setSerialNo(agv_01_up.getSerialNo()); |
| | | agv_b1_down.setPathLen(agv_01_up.getPathLen()); |
| | | ctx.writeAndFlush(pathAckPac); |
| | | |
| | | break label; |
| | | |
| | |
| | | case DATA_WITHOUT_CODE_REPORT: // 无码实时数据 |
| | | |
| | | AGV_13_UP agv_13_up = (AGV_13_UP) pac.getBody().getMessageBody(); |
| | | redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_13_up)); |
| | | redis.push(RedisConstant.AGV_DATA_NO_CODE_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_13_up)); |
| | | |
| | | // executors.getInstance().execute(() -> { |
| | | // |
| | |
| | | redis.setObject(RedisConstant.AGV_ONLINE_FLAG, pac.getHeader().getUniqueNo(), 1, 30); |
| | | |
| | | AGV_03_UP agv_03_up = (AGV_03_UP) pac.getBody().getMessageBody(); |
| | | redis.push(RedisConstant.AGV_DATA_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_03_up)); |
| | | redis.push(RedisConstant.AGV_DATA_HEARTBEAT_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_03_up)); |
| | | |
| | | |
| | | // executors.getInstance().execute(() -> { |
| | |
| | | case LOGIN_REPORT: // 登录 |
| | | |
| | | 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)); |
| | | redis.push(RedisConstant.AGV_DATA_LOGIN_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_f0_up)); |
| | | |
| | | // 登录应答 |
| | | if (null != ackType) { |
| | |
| | | case FAULT_REPORT: // 故障数据包 |
| | | |
| | | 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)); |
| | | redis.push(RedisConstant.AGV_DATA_ERROR_FLAG, AgvProtocol.build(uniqueNo).setMessageBody(agv_04_up)); |
| | | |
| | | |
| | | break label; |