From c6186591783bbc61b65ccadab6795058c73a4472 Mon Sep 17 00:00:00 2001 From: qiushui <=> Date: Fri, 14 Oct 2022 11:55:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E8=B0=83=E8=AF=95=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhehekeji/web/service/client/Decoder.java | 3 ++- .../web/service/client/ECTransmission.java | 25 +++++++++++++++++-- .../web/service/client/NettyServer.java | 5 +++- .../web/service/client/TMTransmission.java | 2 +- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java b/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java index a6cfa65..1c1ddf6 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java @@ -23,9 +23,10 @@ public class Decoder extends DelimiterBasedFrameDecoder { private EmptyCheckService emptyCheckService; private PlcService plcService; - public Decoder(PlcService plcService) { + public Decoder(PlcService plcService,EmptyCheckService emptyCheckService) { super(200,true,false, Unpooled.copiedBuffer(";".getBytes())); this.plcService = plcService; + this.emptyCheckService = emptyCheckService; } @Override diff --git a/web/src/main/java/com/zhehekeji/web/service/client/ECTransmission.java b/web/src/main/java/com/zhehekeji/web/service/client/ECTransmission.java index b4bbe99..f6a90c4 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/ECTransmission.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/ECTransmission.java @@ -41,6 +41,15 @@ public class ECTransmission { private Integer column; + private Integer startColumn; + + private Integer endColumn; + + /** + * 货位条码 + */ + private String originCode; + public String toString(){ return HEADER + "," + SRMNumber; } @@ -60,6 +69,18 @@ public class ECTransmission { side = Integer.valueOf(goodsLocation.substring(2,3)); row = Integer.valueOf(goodsLocation.substring(3,6)); column = Integer.valueOf(goodsLocation.substring(6,9)); + }else if(strings != null && strings.length == 8 && HEADER.equals(strings[0])){ + SRMNumber = strings[1]; + taskId = strings[2]; + startColumn = Integer.valueOf(strings[4]); + endColumn = Integer.valueOf(strings[5]); + goodsLocation = strings[6]; + direction = goodsLocation.substring(0).equals("L") ? 1:2; + side = Integer.valueOf(goodsLocation.substring(2,3)); + row = Integer.valueOf(goodsLocation.substring(3,6)); + column = Integer.valueOf(goodsLocation.substring(6,9)); + originCode = strings[7]; + isEmpty = strings[8]; } } @@ -69,7 +90,7 @@ public class ECTransmission { */ public static String toEmptyCheckStartString(String SRMNumber,String taskId,Integer row,Integer startColumn,Integer endColumn){ StringBuffer sb = new StringBuffer(HEADER); - sb.append(Split).append(SRMNumber).append(Split).append(taskId).append(Split).append(row).append(Split).append(startColumn).append(Split).append(endColumn).append("START"); + sb.append(Split).append(SRMNumber).append(Split).append(taskId).append(Split).append(row).append(Split).append(startColumn).append(Split).append(endColumn).append(Split).append("START"); return sb.toString(); } @@ -79,7 +100,7 @@ public class ECTransmission { */ public static String toEmptyCheckEndString(String SRMNumber,String taskId,Integer row,Integer startColumn,Integer endColumn){ StringBuffer sb = new StringBuffer(HEADER); - sb.append(Split).append(SRMNumber).append(Split).append(taskId).append(Split).append(row).append(Split).append(startColumn).append(Split).append(endColumn).append("END"); + sb.append(Split).append(SRMNumber).append(Split).append(taskId).append(Split).append(row).append(Split).append(startColumn).append(Split).append(endColumn).append(Split).append("END"); return sb.toString(); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/client/NettyServer.java b/web/src/main/java/com/zhehekeji/web/service/client/NettyServer.java index cf53775..d901c41 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/NettyServer.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/NettyServer.java @@ -1,5 +1,6 @@ package com.zhehekeji.web.service.client; +import com.zhehekeji.web.service.EmptyCheckService; import com.zhehekeji.web.service.PlcService; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; @@ -18,6 +19,8 @@ public class NettyServer { @Resource private PlcService plcService; + @Resource + private EmptyCheckService emptyCheckService; public void CreateNettyServer(int port) throws InterruptedException { Thread thread = new Thread(new Runnable() { @@ -37,7 +40,7 @@ public class NettyServer { .childHandler(new ChannelInitializer() { @Override public void initChannel(SocketChannel ch) { - ch.pipeline().addLast(new Decoder(plcService)); + ch.pipeline().addLast(new Decoder(plcService,emptyCheckService)); ch.pipeline().addLast(new Encoder()); }}); // 子处理器,用于处理workerGroup diff --git a/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java b/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java index 67cc752..409d78e 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java @@ -72,7 +72,7 @@ public class TMTransmission { public TMTransmission(String body){ String [] strings = body.split(Split); - if(strings != null && strings.length > 9 && strings[0].equals(header)){ + if(strings != null && strings.length >= 9 && strings[0].equals(header)){ if(strings.length == 9){ SRMNumber = strings[1]; taskNo = strings[2];