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 c8697f6..98579f1 100644 --- a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java +++ b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java @@ -33,8 +33,6 @@ public class ConfigProperties { private LightSource lightSource; - private Sensor sensor; - private ScanCodeMode scanCodeMode; @@ -81,11 +79,6 @@ public class ConfigProperties { private Integer index; } - @Data - public static class Sensor{ - private Integer type; - } - @Data public static class ScanCodeMode{ private Integer tray; diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java index 27e4e22..a00f692 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java @@ -327,9 +327,13 @@ public class CameraControlController { return Result.success(); } + @Resource + private CameraService cameraService; + private void checkLogin(Integer cameraId){ if(CameraConnMap.getConnId(cameraId) == null){ - cameraLogin(cameraId); + Camera camera = cameraMapper.selectById(cameraId); + cameraService.cameraLogin(camera); } } } 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 46e1c4a..47f6a7c 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -529,8 +529,6 @@ public class PlcService { //如果是用扫码枪 扫 托盘码,就直接扫 if(configProperties.getScanCodeMode().getTray() == 2){ //托盘使用sick扫码枪 - if(configProperties.getSensor().getType() == 1){ - SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(),plcCmdInfo.getLeftRight1()); if(sensorGun == null){ trayCode = "识别异常"; @@ -561,7 +559,9 @@ public class PlcService { } } - } + + }else if(configProperties.getScanCodeMode().getTray() == 3){ + //RFID } StockCheckRunnable stockCheckRunnable = new StockCheckRunnable(street,plcCmdInfo,cmdCode,stockMapper,path,checkLogMapper,configProperties.getScanCodeMode().getGoods(),wmsCode,wmsTrayCode,trayCode,trayCheck,configProperties); threadPoolExecutor.execute(stockCheckRunnable); @@ -572,4 +572,6 @@ public class PlcService { return true; } + + } diff --git a/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java b/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java index 854ed5d..aac3e53 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java +++ b/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java @@ -56,8 +56,9 @@ public class StockCheckRunnable implements Runnable { Stock stock = stockMapper.getByShelveIdAndRowColumn(orderInfo.getShelveId(),orderInfo.getRow(),orderInfo.getColumn()); String scanCode = null; Boolean codeCheck = Boolean.TRUE; + Boolean trayCodeCheck = Boolean.TRUE; //货物使用球机扫码 - if(goodsScanCodeMode == 1){ + if(configProperties.getScanCodeMode().getGoods() == 1){ if("".equals(wmsCode)){ //空货物的处理 //如果系统货物为空,则只要扫码识别未出结果,就认为无货物 @@ -80,6 +81,30 @@ public class StockCheckRunnable implements Runnable { } } + }else if(configProperties.getScanCodeMode().getTray() == 1){ + //托盘使用球机扫码 + if("".equals(wmsCode)){ + //空货物的处理 + //如果系统货物为空,则只要扫码识别未出结果,就认为无货物 + trayCode = BarcodeDetector.detectBestCodeUntilOK(configProperties.getSavePath().getMediaPath()+path,configProperties.getScanCodeMode().getTrayCodeTypes()); + if(StringUtils.isEmpty(trayCode)|| trayCode.equals("Unrecognized")){ + trayCheck = Boolean.TRUE; + trayCode = ""; + }else { + trayCheck = wmsCode.equals(trayCode); + } + }else { + trayCode = BarcodeDetector.detectBestCodeUntilOK(configProperties.getSavePath().getMediaPath()+path,configProperties.getScanCodeMode().getTrayCodeTypes()); + if(StringUtils.isEmpty(trayCode)){ + log.error("row:{},cloumn:{}",plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); + log.error("detectBestBarCode:{}",trayCode); + trayCode = "识别异常"; + trayCheck = Boolean.FALSE; + }else { + trayCheck = wmsCode.equals(trayCode); + } + } + } diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index 9954434..d749fc2 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -30,7 +30,7 @@ cameraConfig: cameraType: 1 cameraPassword: a1234567 cameraUser: admin - cameraPort: 8000 + cameraPort: 37777 videoServer: 127.0.0.1:8083 #相机抓图延迟 毫秒,这个延迟是等待球机球机转动到位,然后拍照的 delayCaptureTime: 3500 @@ -66,10 +66,10 @@ sensor: type: 1 # -----tray 托盘 # -----goods 货物 -# 扫码模式 1:球机扫码 2:扫码枪 +# 扫码模式 1:球机扫码 2:sick扫码枪 3:南北达RFID scanCodeMode: - tray: 2 - goods: 1 + tray: 1 + goods: 0 goodsCodeTypes: - 14 trayCodeTypes: diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 3c5f5ef..297c5fd 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -30,7 +30,7 @@ cameraConfig: cameraType: 0 cameraPassword: a1234567 cameraUser: admin - cameraPort: 8000 + cameraPort: 37777 videoServer: 127.0.0.1:8083 #相机抓图延迟 毫秒,这个延迟是等待球机球机转动到位,然后拍照的 delayCaptureTime: 3500