From 66cf9819b5ab8e9c0ae2852fe2aac5a552b302f4 Mon Sep 17 00:00:00 2001 From: yiming Date: Wed, 20 Apr 2022 14:00:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=98=E7=82=B9=E6=97=B6=E6=97=A0=E8=B4=A7?= =?UTF-8?q?=E7=89=A9=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhehekeji/web/pojo/street/StreetVO.java | 8 +++ .../com/zhehekeji/web/service/PlcService.java | 25 ++++++-- .../web/service/StockCheckRunnable.java | 27 ++++++--- .../zhehekeji/web/service/StreetService.java | 57 +++++++++++++++---- web/src/main/resources/application-dev.yml | 6 +- web/src/main/resources/application-prod.yml | 4 +- web/src/main/resources/application-test.yml | 2 +- .../main/resources/mapper/StreetMapper.xml | 6 +- 8 files changed, 104 insertions(+), 31 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java index f3d09f1..f6d276e 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/street/StreetVO.java @@ -13,4 +13,12 @@ public class StreetVO extends Street { private String lightSourceIp; private Integer lightSourcePort; + + private String leftSensorGunIp; + + private Integer leftSensorGunPort; + + private String rightSensorGunIp; + + private Integer rightSensorGunPort; } 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 d84d6bd..5bfc455 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -489,6 +489,7 @@ 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 = "识别异常"; @@ -497,13 +498,27 @@ public class PlcService { }else { trayCode = SickSocket.readOCR(sensorGun.getIp(),sensorGun.getPort()); log.info("sensor tray code:{}",trayCode); - if(StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")){ - trayCode = "识别异常"; - trayCheck = Boolean.FALSE; - log.warn("sick ocr error:{}",trayCode); + if("".equals(wmsTrayCode)){ + //托盘码为空,无货物 + //只要扫码枪未识别出条码,即认为盘点正确 + if(StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")){ + trayCode = ""; + trayCheck = Boolean.TRUE; + }else { + trayCode = "识别异常"; + trayCheck = Boolean.FALSE; + log.warn("sick ocr error:{}",trayCode); + } }else { - trayCheck = wmsTrayCode.equals(trayCode); + if(StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")){ + trayCode = "识别异常"; + trayCheck = Boolean.FALSE; + log.warn("sick ocr error:{}",trayCode); + }else { + trayCheck = wmsTrayCode.equals(trayCode); + } } + } } } 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 ea868b8..854ed5d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java +++ b/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java @@ -58,15 +58,28 @@ public class StockCheckRunnable implements Runnable { Boolean codeCheck = Boolean.TRUE; //货物使用球机扫码 if(goodsScanCodeMode == 1){ - scanCode = BarcodeDetector.detectBestCodeUntilOK(configProperties.getSavePath().getMediaPath()+path,configProperties.getScanCodeMode().getGoodsCodeTypes()); - if(StringUtils.isEmpty(scanCode)){ - log.error("row:{},cloumn:{}",plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); - log.error("detectBestBarCode:{}",scanCode); - scanCode = "识别异常"; - codeCheck = Boolean.FALSE; + if("".equals(wmsCode)){ + //空货物的处理 + //如果系统货物为空,则只要扫码识别未出结果,就认为无货物 + scanCode = BarcodeDetector.detectBestCodeUntilOK(configProperties.getSavePath().getMediaPath()+path,configProperties.getScanCodeMode().getGoodsCodeTypes()); + if(StringUtils.isEmpty(scanCode)|| scanCode.equals("Unrecognized")){ + codeCheck = Boolean.TRUE; + scanCode = ""; + }else { + codeCheck = wmsCode.equals(scanCode); + } }else { - codeCheck = wmsCode.equals(scanCode); + scanCode = BarcodeDetector.detectBestCodeUntilOK(configProperties.getSavePath().getMediaPath()+path,configProperties.getScanCodeMode().getGoodsCodeTypes()); + if(StringUtils.isEmpty(scanCode)){ + log.error("row:{},cloumn:{}",plcCmdInfo.getRow1(),plcCmdInfo.getColumn1()); + log.error("detectBestBarCode:{}",scanCode); + scanCode = "识别异常"; + codeCheck = Boolean.FALSE; + }else { + codeCheck = wmsCode.equals(scanCode); + } } + } diff --git a/web/src/main/java/com/zhehekeji/web/service/StreetService.java b/web/src/main/java/com/zhehekeji/web/service/StreetService.java index ae9fa70..3ede638 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StreetService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StreetService.java @@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zhehekeji.core.util.Assert; +import com.zhehekeji.web.config.ConfigProperties; import com.zhehekeji.web.entity.LightSource; +import com.zhehekeji.web.entity.SensorGun; import com.zhehekeji.web.entity.Street; import com.zhehekeji.web.mapper.LightSourceMapper; +import com.zhehekeji.web.mapper.SensorGunMapper; import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.pojo.street.StreetSearch; import com.zhehekeji.web.pojo.street.StreetType; @@ -43,6 +46,10 @@ public class StreetService { private LightSourceMapper lightSourceMapper; @Resource private StockService stockService; + @Resource + private ConfigProperties configProperties; + @Resource + private SensorGunMapper sensorGunMapper; @Transactional(rollbackFor = Exception.class) @@ -76,19 +83,21 @@ public class StreetService { } catch (DuplicateKeyException e) { Assert.isTrue(false, "PLC ID已存在"); } - StreetConn.init(street.getId(), street.getPlcId()); - Thread thread = new Thread(new Runnable() { - @Override - public void run() { - //连接 - try { - nettyClient.createClient(street); - } catch (InterruptedException e) { - log.error("新增巷道,连接异常"); + if(configProperties.getServerMode().equals(0)){ + StreetConn.init(street.getId(), street.getPlcId()); + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + //连接 + try { + nettyClient.createClient(street); + } catch (InterruptedException e) { + log.error("新增巷道,连接异常"); + } } - } - }); - thread.start(); + }); + thread.start(); + } if(!StringUtils.isEmpty(streetVO.getLightSourceIp()) && streetVO.getLightSourcePort() != null && streetVO.getLightSourcePort() != 0){ LightSource lightSource = new LightSource(); lightSource.setStreetId(street.getId()); @@ -97,6 +106,7 @@ public class StreetService { lightSourceMapper.insert(lightSource); } streetVO.setId(street.getId()); + sensorGunConfig(streetVO,street.getId()); Thread thread2 = new Thread(new Runnable() { @Override public void run() { @@ -216,6 +226,7 @@ public class StreetService { lightSource.setIp(streetVO.getLightSourceIp()); lightSourceMapper.update(lightSource,new UpdateWrapper().eq("street_id",street.getId())); } + sensorGunConfig(streetVO,street.getId()); Thread thread2 = new Thread(new Runnable() { @Override public void run() { @@ -253,4 +264,26 @@ public class StreetService { return streetMapper.list(); } + public void sensorGunConfig(StreetVO streetVO,Integer streetId){ + Map map = new HashMap<>(); + map.put("street_id",streetId); + sensorGunMapper.deleteByMap(map); + if(!StringUtils.isEmpty(streetVO.getLeftSensorGunIp()) && streetVO.getLeftSensorGunPort() != null){ + SensorGun sensorGun = new SensorGun(); + sensorGun.setStreetId(streetId); + sensorGun.setDirection(1); + sensorGun.setIp(streetVO.getLeftSensorGunIp()); + sensorGun.setPort(streetVO.getLeftSensorGunPort()); + sensorGunMapper.insert(sensorGun); + } + if(!StringUtils.isEmpty(streetVO.getRightSensorGunIp()) && streetVO.getRightSensorGunPort() != null){ + SensorGun sensorGun = new SensorGun(); + sensorGun.setStreetId(streetId); + sensorGun.setDirection(2); + sensorGun.setIp(streetVO.getRightSensorGunIp()); + sensorGun.setPort(streetVO.getRightSensorGunPort()); + sensorGunMapper.insert(sensorGun); + } + } + } diff --git a/web/src/main/resources/application-dev.yml b/web/src/main/resources/application-dev.yml index df1fa78..ba761f7 100644 --- a/web/src/main/resources/application-dev.yml +++ b/web/src/main/resources/application-dev.yml @@ -19,7 +19,7 @@ spring: validationQuery: SELECT 1 FROM DUAL # --------本服务端口号 server: - port: 8100 + port: 8099 #-------------- # ------用户中心地址 userUrl: http://115.236.65.98:11001 @@ -27,7 +27,7 @@ userUrl: http://115.236.65.98:11001 # ----默认摄像头的连接信息 cameraConfig: # ------------球機選擇--- 0:利珀 1:海康 - cameraType: 0 + cameraType: 1 cameraPassword: a1234567 cameraUser: admin cameraPort: 8000 @@ -68,7 +68,7 @@ sensor: # -----goods 货物 # 扫码模式 1:球机扫码 2:扫码枪 scanCodeMode: - tray: 0 + tray: 2 goods: 1 goodsCodeTypes: - 14 diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 36b6e57..d12d6c7 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -19,7 +19,7 @@ spring: validationQuery: SELECT 1 FROM DUAL # --------本服务端口号 server: - port: 8100 + port: 8099 #-------------- # ------用户中心地址 userUrl: http://115.236.65.98:11001 @@ -68,7 +68,7 @@ sensor: # -----goods 货物 # 扫码模式 1:球机扫码 2:扫码枪 scanCodeMode: - tray: 0 + tray: 2 goods: 1 goodsCodeTypes: - 14 diff --git a/web/src/main/resources/application-test.yml b/web/src/main/resources/application-test.yml index 36b6e57..3c5f5ef 100644 --- a/web/src/main/resources/application-test.yml +++ b/web/src/main/resources/application-test.yml @@ -19,7 +19,7 @@ spring: validationQuery: SELECT 1 FROM DUAL # --------本服务端口号 server: - port: 8100 + port: 8099 #-------------- # ------用户中心地址 userUrl: http://115.236.65.98:11001 diff --git a/web/src/main/resources/mapper/StreetMapper.xml b/web/src/main/resources/mapper/StreetMapper.xml index 5a181f8..b3d1b68 100644 --- a/web/src/main/resources/mapper/StreetMapper.xml +++ b/web/src/main/resources/mapper/StreetMapper.xml @@ -3,11 +3,15 @@