From 5247e3ba17c27534b7f6963ee4a6886b8af8e025 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LAPTOP-S9HJSOEB=5C=E6=98=8A=E5=A4=A9?= Date: Fri, 8 Sep 2023 10:03:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B6=E9=83=A8=E6=8B=8D=E7=85=A7=E7=85=A7?= =?UTF-8?q?=E7=89=87=E8=BF=94=E5=9B=9E=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/zhehekeji/web/entity/Order.java | 1 + .../java/com/zhehekeji/web/pojo/OrderVO.java | 4 ++ .../zhehekeji/web/service/OrderService.java | 3 ++ .../com/zhehekeji/web/service/PlcService.java | 4 +- .../zhehekeji/web/service/client/Decoder.java | 43 +++++++++++++------ .../web/service/putian/PTDecoder.java | 7 ++- .../web/service/putian/PTOrderContent.java | 13 +++++- 7 files changed, 57 insertions(+), 18 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/entity/Order.java b/web/src/main/java/com/zhehekeji/web/entity/Order.java index 04320bf..e9100bf 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Order.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Order.java @@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; +import java.util.List; @Data @TableName("`order`") diff --git a/web/src/main/java/com/zhehekeji/web/pojo/OrderVO.java b/web/src/main/java/com/zhehekeji/web/pojo/OrderVO.java index 5d5985f..8c64315 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/OrderVO.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/OrderVO.java @@ -1,5 +1,6 @@ package com.zhehekeji.web.pojo; +import com.baomidou.mybatisplus.annotation.TableField; import com.zhehekeji.web.entity.Order; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -21,6 +22,9 @@ public class OrderVO extends Order { @ApiModelProperty("时长") private String timeLength; + private String [] intoStockPics; + + private String [] pics; @ApiModelProperty("当视频为海康球机时") diff --git a/web/src/main/java/com/zhehekeji/web/service/OrderService.java b/web/src/main/java/com/zhehekeji/web/service/OrderService.java index 4a289ea..a17c78e 100644 --- a/web/src/main/java/com/zhehekeji/web/service/OrderService.java +++ b/web/src/main/java/com/zhehekeji/web/service/OrderService.java @@ -66,6 +66,9 @@ public class OrderService { // orderVO.setCmd1(" VSPlayer "+ orderVO.getVideoPath2()); // } orderVO.setGoodsLocation(location(orderVO,streetMap.get(orderVO.getStreetId()))); + if(orderVO.getIntoStockPic() != null ) { + orderVO.setIntoStockPics(orderVO.getIntoStockPic().split(";")); + } }); return new PageInfo<>(orders); } diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 9a6b021..bb73b4e 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -665,8 +665,8 @@ public class PlcService { Order oldOrder = orderMapper.getOneByOrderNum(taskId); oldOrder.setIntoStockPic(picName); orderMapper.updateById(oldOrder); - String[] pics = picName.split(","); - return configProperties.getIP()+":9007/api/pic/"+pics[0]+ configProperties.getIP()+":9007/api/pic/"+pics[1]; + String[] pics = picName.split(";"); + return configProperties.getIP()+":9007/api/pic/"+pics[0]+";"+ configProperties.getIP()+":9007/api/pic/"+pics[1]; } 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 c219040..4ed1083 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 @@ -137,20 +137,36 @@ public class Decoder extends DelimiterBasedFrameDecoder { ClientChanel.write(scTransmissionStr,ptCheckContent.getSRMNUmber()); } else if (ptData.getType().equals(PTData.Into_Stock_01)){ - log.info("入库顶部拍照"); + + //这边入库顶部拍照要换成用客户端顶部的两个相机拍照,上位机发送的IS01入库拍照指令后给客户端发送顶部拍照指令,客户端拍到两张照片后会发送拍照信息给web端,web端再发给上位机。 + log.info("普天入库顶部拍照"); PTData ptDataSend = new PTData(ptData.getContent(), PTData.FLOW_A, PTData.Into_Stock_01); - PuTianNettyClient.write(ptDataSend); //保存order标表 - PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(ptData.getContent()); - String srmNumber = ptOrderContent.getSRMNUmber(); -// if (srmNumber.length() < 3){ -// Integer number = Integer.valueOf(srmNumber); -// srmNumber = String.format("%03d", number); -// } - String picPath = plcService.IntoStock(srmNumber, ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation()); + PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(ptData.getContent(),"#"); + String picPath = plcService.IntoStock(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation()); + //返回普天 PTData resData = PTData.IntoStock02(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation(),picPath); - PuTianNettyClient.write(resData); + + tcpLogger.info("普天入库顶部拍照发送给客户端:"+"IS&" +ptOrderContent.getSRMNUmber()+"&"+ ptOrderContent.getTaskNo()+"&"+ ptOrderContent.getGoodsLocation(), ptOrderContent.getSRMNUmber()); + ClientChanel.write("IS&" +ptOrderContent.getSRMNUmber()+"&"+ ptOrderContent.getTaskNo()+"&"+ ptOrderContent.getGoodsLocation(), ptOrderContent.getSRMNUmber()); + //PuTianNettyClient.write(resData); + +// +// log.info("入库顶部拍照"); +// PTData ptDataSend = new PTData(ptData.getContent(), PTData.FLOW_A, PTData.Into_Stock_01); +// PuTianNettyClient.write(ptDataSend); +// //保存order标表 +// PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(ptData.getContent()); +// String srmNumber = ptOrderContent.getSRMNUmber(); +//// if (srmNumber.length() < 3){ +//// Integer number = Integer.valueOf(srmNumber); +//// srmNumber = String.format("%03d", number); +//// } +// String picPath = plcService.IntoStock(srmNumber, ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation()); +// //返回普天 +// PTData resData = PTData.IntoStock02(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation(),picPath); +// PuTianNettyClient.write(resData); } else if (ptData.getType().equals(PTData.Into_Stock_03)){ log.info("入库侧面拍照"); @@ -240,14 +256,15 @@ public class Decoder extends DelimiterBasedFrameDecoder { } else if(body.startsWith("IS")){ //这边入库顶部拍照要换成用客户端顶部的两个相机拍照,上位机发送的IS01入库拍照指令后给客户端发送顶部拍照指令,客户端拍到两张照片后会发送拍照信息给web端,web端再发给上位机。 - log.info("入库顶部拍照"); + log.info("客户端入库顶部拍照"); //保存order标表 - PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(body); + PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(body.substring(3)); String picPath = plcService.IntoStockSave(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation(),ptOrderContent.getPics()); - //返回普天 PTData resData = PTData.IntoStock02(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation(),picPath); PuTianNettyClient.write(resData); + tcpLogger.info("客户端返回信息:"+resData); + in.release(); } else if(body.startsWith("DC")){ diff --git a/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java b/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java index ddbe251..b574783 100644 --- a/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java @@ -145,14 +145,17 @@ public class PTDecoder extends LineBasedFrameDecoder { }else if(ptData.getType().equals(PTData.Into_Stock_01)){ //这边入库顶部拍照要换成用客户端顶部的两个相机拍照,上位机发送的IS01入库拍照指令后给客户端发送顶部拍照指令,客户端拍到两张照片后会发送拍照信息给web端,web端再发给上位机。 - log.info("入库顶部拍照"); + log.info("普天入库顶部拍照"); PTData ptDataSend = new PTData(ptData.getContent(), PTData.FLOW_A, PTData.Into_Stock_01); //保存order标表 - PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(ptData.getContent()); + PTOrderContent ptOrderContent = PTOrderContent.OrderContentIS01And03(ptData.getContent(),"#"); String picPath = plcService.IntoStock(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation()); //返回普天 PTData resData = PTData.IntoStock02(ptOrderContent.getSRMNUmber(), ptOrderContent.getTaskNo(), ptOrderContent.getGoodsLocation(),picPath); + + tcpLogger.info("普天入库顶部拍照发送给客户端:"+"IS&" +ptOrderContent.getSRMNUmber()+"&"+ ptOrderContent.getTaskNo()+"&"+ ptOrderContent.getGoodsLocation(), ptOrderContent.getSRMNUmber()); + ClientChanel.write("IS&" +ptOrderContent.getSRMNUmber()+"&"+ ptOrderContent.getTaskNo()+"&"+ ptOrderContent.getGoodsLocation(), ptOrderContent.getSRMNUmber()); //PuTianNettyClient.write(resData); }else if(ptData.getType().equals(PTData.Into_Stock_02)){ log.info("入库完成拍照"); diff --git a/web/src/main/java/com/zhehekeji/web/service/putian/PTOrderContent.java b/web/src/main/java/com/zhehekeji/web/service/putian/PTOrderContent.java index cce42d6..30d9759 100644 --- a/web/src/main/java/com/zhehekeji/web/service/putian/PTOrderContent.java +++ b/web/src/main/java/com/zhehekeji/web/service/putian/PTOrderContent.java @@ -21,13 +21,24 @@ public class PTOrderContent { */ public static PTOrderContent OrderContentIS01And03(String data){ PTOrderContent ptContent = new PTOrderContent(); - String [] strings = data.split(","); + String [] strings = data.split("&"); ptContent.setSRMNUmber(strings[0]); ptContent.setTaskNo(strings[1]); ptContent.setGoodsLocation(strings[2]); + if(strings.length >= 3){ + ptContent.setPics(strings[3]); + } return ptContent; } + public static PTOrderContent OrderContentIS01And03(String data,String split){ + PTOrderContent ptContent = new PTOrderContent(); + String [] info = data.split(","); + ptContent.setSRMNUmber(info[0]); + ptContent.setTaskNo(info[1]); + ptContent.setGoodsLocation(info[2]); + return ptContent; + } /** * 货位入库顶部拍照(IS01)