diff --git a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java index f667d62..6f08603 100644 --- a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java +++ b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java @@ -59,6 +59,7 @@ public class ConfigProperties { private Long C3DelayCaptureTime; private Long C4DelayCaptureTime; private Long C4OutDelayCaptureTime; + private Long EDelayCaptureTime; private Long B2DelayTime; private Long B2OutDelayTime; diff --git a/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java b/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java index 66a5a01..5201b44 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java @@ -50,7 +50,7 @@ public class CheckLogService { if(search.getColumn() != null && search.getColumn() != 0){ wrapper.eq("`column`",search.getColumn()); } - wrapper.orderByDesc("shelve_id","`row`","`column`","id"); + wrapper.orderByDesc("create_time"); ListstockChecks = checkLogMapper.selectList(wrapper); return new PageInfo<>(stockChecks); 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 2193f05..4dab152 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -593,35 +593,47 @@ public class PlcService { HikControlSocket.openLight(lightSource.getIp(),lightSource.getPort(),configProperties.getLightSource().getIndex(),1); }); Integer cameraId = getCameraByPlcCmd(plcCmdInfo,plcCmdInfo.getLeftRight1()); + log.info("taskId:{}", plcCmdInfo.getTaskId()); + //重庆亚士创能盘点时用球机拍条码 + log.info("0 camera ptz:"+cmdCode); + gyrateCameraByCode(cameraId, cmdCode); + try { + Thread.sleep(configProperties.getCameraConfig().getDelayCaptureTime()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + String path = PathUtil.createFileNameByRowColumn("jpg",cameraId,plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); + cameraCapture(cameraId,false,null,path); + log.info("camera:{} capture: {}", cameraId, path); - //重庆亚士创能盘点时先用同侧相机拍摄货物顶部 + //重庆亚士创能盘点时用同侧相机拍摄货物顶部 Integer leftRightTop = plcCmdInfo.getLeftRight1() == 1 ? 2 : 1; Integer cameraIdTop = getCameraByPlcCmd(plcCmdInfo, leftRightTop); - String cameraCmdCode = cmdCode; + String cameraCmdCode1 = cmdCode; if(plcCmdInfo.getSeparation1() == 1 && configProperties.getScanCodeMode().getTray() == 2){ //内测 - cameraCmdCode = cmdCode + "-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; + cameraCmdCode1 = cmdCode + "-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; } - log.info("1 camera ptz:"+cameraCmdCode); - gyrateCameraByCode(cameraIdTop, cameraCmdCode); + log.info("1 camera ptz:"+cameraCmdCode1); + gyrateCameraByCode(cameraIdTop, cameraCmdCode1); try { - Thread.sleep(configProperties.getCameraConfig().getDelayCaptureTime()); + Thread.sleep(configProperties.getCameraConfig().getEDelayCaptureTime()); } catch (InterruptedException e) { e.printStackTrace(); } - String path = PathUtil.createFileNameByRowColumn("jpg",cameraId,plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); - cameraCapture(cameraIdTop,false,null,path); + cameraCapture(cameraIdTop,false,null,path+".jpg"); - //重庆亚士创能盘点时再用对侧球机拍侧面层数 + //重庆亚士创能盘点时用对侧球机拍侧面层数 String cameraCmdCode2 = "E2-" + plcCmdInfo.getLeftRightStr(1) + "-IN"; + gyrateCameraByCode(cameraId, cameraCmdCode2); log.info("2 camera ptz:"+cameraCmdCode2); try { - Thread.sleep(1500l); + Thread.sleep(configProperties.getCameraConfig().getEDelayCaptureTime()); } catch (InterruptedException e) { e.printStackTrace(); } - cameraCapture(cameraId,false,null,path+".jpg"); + cameraCapture(cameraId,false,null,path+".jpg.jpg"); //托盘码 String trayCode = null; diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java index 7fec871..e7f2dc1 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java @@ -179,6 +179,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { plcService.truncateStock(); lastLotnum = lotnum; } + log.info("orderInfo:{}", plcCmdInfo.toString()); plcCmdInfo.setTimes(1); Boolean ok = plcService.check(plcCmdInfo,ksecInfo.getData().getCmdName(), dataInfo.getCode(), dataInfo.getTrayCode()); if(ok){ diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java index 09819b2..1253c05 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecNettyClient.java @@ -25,11 +25,6 @@ public class KsecNettyClient { @Resource private ConfigProperties configProperties; - /** - * 重连最大次数 - */ - private static int RECONNECT_NUM = 10; - private static Channel channel; public void createClient(ConfigProperties.KSEC ksec) throws InterruptedException { @@ -67,16 +62,19 @@ public class KsecNettyClient { } catch (InterruptedException e) { e.printStackTrace(); } - while ((ksec.getReconnectNum() == -1 || num < ksec.getReconnectNum() ) && !isConnected) { + while ((ksec.getReconnectNum() == -1 || num < ksec.getReconnectNum()) && !isConnected) { try { createClient(ksec); - } catch (Exception e) { - //没连上 继续 + } + //没连上 继续 + catch (Exception e) { + //关闭当前连接 + channel.close(); log.error("reconnect error num:{}", num); num++; try { - Thread.sleep(ksec.getReconnectInterval()*1000); - } catch (InterruptedException ex) { + Thread.sleep(ksec.getReconnectInterval()); + }catch (Exception ex){ throw new RuntimeException(ex); } continue; diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 2387d7d..4b087a7 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -45,6 +45,8 @@ cameraConfig: C3DelayCaptureTime: 1500 C4DelayCaptureTime: 1500 C4OutDelayCaptureTime: 1500 + #发了盘点指令之后多久拍照 + EDelayCaptureTime: 2500 # 发了B2之后多久转原点位 B2DelayTime: 2000 # 外侧货架发了B2多久转原点位 @@ -63,6 +65,10 @@ serverMode: 1 ksec: ip: 127.0.0.1 port: 3000 + #断点重连的次数:-1->不断重连 + reconnectNum: -1 + #断点重连时间间隔(单位:ms) + reconnectInterval: 10000 # ------------ 实时视频流 全部页面的格式 行列数量 videoStyleConfig: videoStyleRow: 4