diff --git a/web/src/main/java/com/zhehekeji/web/controller/OrderController.java b/web/src/main/java/com/zhehekeji/web/controller/OrderController.java index 19cd35b..c8bc038 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/OrderController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/OrderController.java @@ -12,6 +12,7 @@ import com.zhehekeji.web.service.PlcCmdInfo; import com.zhehekeji.web.service.PlcService; import com.zhehekeji.web.service.ksec.KsecDataInfo; import com.zhehekeji.web.service.ksec.KsecInfo; +import com.zhehekeji.web.service.ksec.KsecInfos; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -19,6 +20,8 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; @Api(value = "OrderController",tags = "订单管理") @RestController(value = "OrderController") @@ -67,10 +70,14 @@ public class OrderController { @ApiOperation("随行或盘点请求接口") @PostMapping("/orderDecoder") - public ResultResp orderDecoder(@ApiParam("工单信息") @RequestBody KsecInfo ksecInfo){ - - KsecDataInfo ksecDataInfo = plcService.orderDecoder(ksecInfo); - return ResultResp.success(ksecDataInfo); + public ResultResp> orderDecoder(@ApiParam("工单信息") @RequestBody KsecInfos ksecInfos){ + List dataInfos = KsecInfos.getList(ksecInfos); + List ksecDataInfos = new ArrayList<>(); + for (KsecInfo ksecInfo :dataInfos) { + KsecDataInfo ksecDataInfo = plcService.orderDecoder(ksecInfo); + ksecDataInfos.add(ksecDataInfo); + } + return ResultResp.success(ksecDataInfos); } @ApiOperation("发生告警") diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java b/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java index 002cbff..d441a9b 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java @@ -89,6 +89,7 @@ public class PlcCmdInfo { private Integer fromSide; private Integer toSide; + private Integer fromAround; public PlcCmdInfo(String plcId, String taskId, Integer side1, Integer leftRight1, Integer column1, Integer row1, Integer separation1, Integer side2, Integer leftRight2, Integer column2, Integer row2, Integer separation2,String lotnum) { this.taskId = taskId; 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 a3bd120..d517456 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -252,14 +252,10 @@ public class PlcService { String path = null; Boolean needCapture = doNeedCaptureByCode(orderInfo.getCmdCode()); - /*** - * 判断该巷道有几个相机 - * 如果有一个相机,就一个相机转 - * 如果有两个相机,则左侧转camera1 - * 右侧转camera2 - * 没有就不管了 + /** + * 古井贡酒球机分前后,前使用左侧相机 */ - Integer cameraId = getCameraByPlcCmdAction(plcCmdInfo, orderInfo.getCmdCode()); + Integer cameraId = (plcCmdInfo.getFromAround() == 1)? street.getCamera1Id(): street.getCamera2Id(); gyrateCameraByCode(cameraId, orderInfo.getCmdCode(), orderInfo.getOrderNum()); if (needCapture) { Boolean delay = true; @@ -286,7 +282,9 @@ public class PlcService { } else { delayTime = configProperties.getCameraConfig().getC2OutDelayCaptureTime(); } - + if(configProperties.getOrderTest() == 1 && plcCmdInfo.getFromAround() == 2) { + checkTest(plcCmdInfo); + } } else if (code.startsWith("C3")) { delayTime = configProperties.getCameraConfig().getC3DelayCaptureTime(); @@ -813,6 +811,7 @@ public class PlcService { plcCmdInfo.setFromSide(dataInfo.getFromSide()); plcCmdInfo.setFromSeparation(dataInfo.getFromSeparation()); plcCmdInfo.setToSeparation(dataInfo.getToSeparation()); + plcCmdInfo.setFromAround(dataInfo.getFromAround()); plcCmdInfo.setToSide(dataInfo.getToSide()); //左右不交换 if(dataInfo.getFromDirection() == 1){ @@ -903,7 +902,7 @@ public class PlcService { dataInfo.setGoodsNumberResult(algorithmPojo.getGoodsNumberResult()); log.info("盘点完成"); }else { - checkTest(plcCmdInfo, ksecInfo.getType(), dataInfo); + checkTest(plcCmdInfo); } @@ -911,7 +910,7 @@ public class PlcService { return dataInfo; } - private void checkTest(PlcCmdInfo plcCmdInfo, String type, KsecDataInfo dataInfo) { + private void checkTest(PlcCmdInfo plcCmdInfo) { Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId()); Socket socket = new Socket(); @@ -919,7 +918,7 @@ public class PlcService { OutputStream os = null; InputStream is = null; try { - socket.connect(new InetSocketAddress(street.getPlcIp(),669),3000); + socket.connect(new InetSocketAddress(street.getPlcIp(),street.getPlcPort()),3000); //socket.setSoTimeout(10000); os = socket.getOutputStream(); Thread.sleep(100); diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDataInfo.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDataInfo.java index 3c74758..1e0b5ea 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDataInfo.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDataInfo.java @@ -50,4 +50,6 @@ public class KsecDataInfo { private Integer goodsNumberResult; private Integer result = 1; private String lotnum ; + + private Integer fromAround;//1前货叉 2后货叉 } diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecInfos.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecInfos.java new file mode 100644 index 0000000..2f7794d --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecInfos.java @@ -0,0 +1,33 @@ +package com.zhehekeji.web.service.ksec; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +@AllArgsConstructor +public class KsecInfos { + + private String header; + + private String Type; + + private List data; + + /** + * 心跳格式 + * @return + */ + public static List getList(KsecInfos ksecInfos){ + List list = new ArrayList<>(); + for (KsecDataInfo ksecDataInfo :ksecInfos.getData()){ + KsecInfo ksecInfo = new KsecInfo( ksecInfos.getHeader(), ksecInfos.getType(),ksecDataInfo); + list.add(ksecInfo); + } + + + return list; + } +}