|
|
|
@ -371,87 +371,93 @@ public class PlcService {
|
|
|
|
String trayCode = "";
|
|
|
|
String trayCode = "";
|
|
|
|
log.info("扫码类型:" + configProperties.getScanCodeMode().getTray());
|
|
|
|
log.info("扫码类型:" + configProperties.getScanCodeMode().getTray());
|
|
|
|
//使用sick扫码枪
|
|
|
|
//使用sick扫码枪
|
|
|
|
if(plcCmdInfo.getSeparation1()==1) {
|
|
|
|
int leftRight = plcCmdInfo.getLeftRight1();
|
|
|
|
//托盘使用sick扫码枪
|
|
|
|
if(plcCmdInfo.getSeparation1()==2) {
|
|
|
|
SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
leftRight=leftRight+2;
|
|
|
|
if (sensorGun == null) {
|
|
|
|
}
|
|
|
|
trayCode = "扫码枪未配置";
|
|
|
|
// if(plcCmdInfo.getSeparation1()==1) {
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
//
|
|
|
|
log.error("no sensor gun config in database ,street id:{},direction:{}", street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
// }else {
|
|
|
|
} else {
|
|
|
|
//
|
|
|
|
trayCode = SickSocket.readOCR(sensorGun.getIp(), sensorGun.getPort());
|
|
|
|
// Integer cameraId=street.getCamera1Id();;
|
|
|
|
log.info("sensor tray code:{}", trayCode);
|
|
|
|
// String code = "E1-DEEP-";
|
|
|
|
if ("".equals(plcCmdInfo.getWmsCode())) {
|
|
|
|
// String path = "";
|
|
|
|
//托盘码为空,无货物
|
|
|
|
//
|
|
|
|
//只要扫码枪未识别出条码,即认为盘点正确
|
|
|
|
// //使用同侧的camera
|
|
|
|
if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
// if(plcCmdInfo.getLeftRight1() ==1){
|
|
|
|
trayCode = "无货物";
|
|
|
|
//
|
|
|
|
trayCheck = Boolean.TRUE;
|
|
|
|
// code = code+"L";
|
|
|
|
} else {
|
|
|
|
// }else {
|
|
|
|
trayCode = "扫码枪识别异常";
|
|
|
|
//
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
// code = code+"R";
|
|
|
|
log.warn("sick ocr error:{}", trayCode);
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// path = PathUtil.createFileNameByRowColumn("jpg",cameraId,plcCmdInfo.getRow1(),plcCmdInfo.getColumn1());
|
|
|
|
|
|
|
|
// gyrateCameraByCode(cameraId,code);
|
|
|
|
|
|
|
|
// try {
|
|
|
|
|
|
|
|
// Thread.sleep(5000L);
|
|
|
|
|
|
|
|
// } catch (InterruptedException e) {
|
|
|
|
|
|
|
|
// throw new RuntimeException(e);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// path = cameraCapture(cameraId,false,0L,path);
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// trayCode = reentrantLockExample.identify( configProperties.getSavePath().getMediaPath() + path,configProperties.getIntelliBink().getIp(),configProperties.getIntelliBink().getPort());
|
|
|
|
|
|
|
|
// if(trayCode != null && !"".equals(trayCode)){
|
|
|
|
|
|
|
|
// if ("".equals(plcCmdInfo.getWmsCode())) {
|
|
|
|
|
|
|
|
// //托盘码为空,无货物
|
|
|
|
|
|
|
|
// //只要扫码枪未识别出条码,即认为盘点正确
|
|
|
|
|
|
|
|
// if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
|
|
|
|
// trayCode = "无货物";
|
|
|
|
|
|
|
|
// trayCheck = Boolean.TRUE;
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// trayCode = "扫码枪识别异常";
|
|
|
|
|
|
|
|
// trayCheck = Boolean.FALSE;
|
|
|
|
|
|
|
|
// log.warn("sick ocr error:{}", trayCode);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
|
|
|
|
// trayCode = "扫码枪识别异常";
|
|
|
|
|
|
|
|
// trayCheck = Boolean.FALSE;
|
|
|
|
|
|
|
|
// log.warn("sick ocr error:{}", trayCode);
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// //扫到与货码相同
|
|
|
|
|
|
|
|
// if(trayCode.equals(plcCmdInfo.getWmsCode())){
|
|
|
|
|
|
|
|
// trayCheck = Boolean.TRUE;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//托盘使用sick扫码枪
|
|
|
|
|
|
|
|
SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(), leftRight);
|
|
|
|
|
|
|
|
if (sensorGun == null) {
|
|
|
|
|
|
|
|
trayCode = "扫码枪未配置";
|
|
|
|
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
|
|
|
|
log.error("no sensor gun config in database ,street id:{},direction:{}", street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
trayCode = SickSocket.readOCR(sensorGun.getIp(), sensorGun.getPort());
|
|
|
|
|
|
|
|
log.info("sensor tray code:{}", trayCode);
|
|
|
|
|
|
|
|
if ("".equals(plcCmdInfo.getWmsCode())) {
|
|
|
|
|
|
|
|
//托盘码为空,无货物
|
|
|
|
|
|
|
|
//只要扫码枪未识别出条码,即认为盘点正确
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
|
|
|
|
trayCode = "无货物";
|
|
|
|
|
|
|
|
trayCheck = Boolean.TRUE;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
trayCode = "扫码枪识别异常";
|
|
|
|
trayCode = "扫码枪识别异常";
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
log.warn("sick ocr error:{}", trayCode);
|
|
|
|
log.warn("sick ocr error:{}", trayCode);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
//扫到与货码相同
|
|
|
|
|
|
|
|
if(trayCode.equals(plcCmdInfo.getWmsCode())){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trayCheck = Boolean.TRUE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
}else {
|
|
|
|
if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
Integer cameraId=street.getCamera1Id();;
|
|
|
|
trayCode = "扫码枪识别异常";
|
|
|
|
String code = "E1-DEEP-";
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
String path = "";
|
|
|
|
log.warn("sick ocr error:{}", trayCode);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
//使用同侧的camera
|
|
|
|
//扫到与货码相同
|
|
|
|
if(plcCmdInfo.getLeftRight1() ==1){
|
|
|
|
if(trayCode.equals(plcCmdInfo.getWmsCode())){
|
|
|
|
|
|
|
|
|
|
|
|
code = code+"L";
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
code = code+"R";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
path = PathUtil.createFileNameByRowColumn("jpg",cameraId,plcCmdInfo.getRow1(),plcCmdInfo.getColumn1());
|
|
|
|
|
|
|
|
gyrateCameraByCode(cameraId,code);
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
Thread.sleep(5000L);
|
|
|
|
|
|
|
|
} catch (InterruptedException e) {
|
|
|
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
path = cameraCapture(cameraId,false,0L,path);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trayCode = reentrantLockExample.identify( configProperties.getSavePath().getMediaPath() + path,configProperties.getIntelliBink().getIp(),configProperties.getIntelliBink().getPort());
|
|
|
|
|
|
|
|
if(trayCode != null && !"".equals(trayCode)){
|
|
|
|
|
|
|
|
if ("".equals(plcCmdInfo.getWmsCode())) {
|
|
|
|
|
|
|
|
//托盘码为空,无货物
|
|
|
|
|
|
|
|
//只要扫码枪未识别出条码,即认为盘点正确
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
|
|
|
|
trayCode = "无货物";
|
|
|
|
|
|
|
|
trayCheck = Boolean.TRUE;
|
|
|
|
trayCheck = Boolean.TRUE;
|
|
|
|
} else {
|
|
|
|
|
|
|
|
trayCode = "扫码枪识别异常";
|
|
|
|
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
|
|
|
|
log.warn("sick ocr error:{}", trayCode);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")) {
|
|
|
|
|
|
|
|
trayCode = "扫码枪识别异常";
|
|
|
|
|
|
|
|
trayCheck = Boolean.FALSE;
|
|
|
|
|
|
|
|
log.warn("sick ocr error:{}", trayCode);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
//扫到与货码相同
|
|
|
|
|
|
|
|
if(trayCode.equals(plcCmdInfo.getWmsCode())){
|
|
|
|
|
|
|
|
trayCheck = Boolean.TRUE;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|