|
|
|
@ -7,7 +7,6 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.zhehekeji.common.util.PathUtil;
|
|
|
|
import com.zhehekeji.common.util.PathUtil;
|
|
|
|
import com.zhehekeji.web.config.ConfigProperties;
|
|
|
|
import com.zhehekeji.web.config.ConfigProperties;
|
|
|
|
import com.zhehekeji.web.config.WebSocketConfig;
|
|
|
|
|
|
|
|
import com.zhehekeji.web.entity.*;
|
|
|
|
import com.zhehekeji.web.entity.*;
|
|
|
|
import com.zhehekeji.web.lib.*;
|
|
|
|
import com.zhehekeji.web.lib.*;
|
|
|
|
import com.zhehekeji.web.mapper.*;
|
|
|
|
import com.zhehekeji.web.mapper.*;
|
|
|
|
@ -669,49 +668,49 @@ public class PlcService {
|
|
|
|
log.info("扫码类型:" + configProperties.getScanCodeMode().getTray());
|
|
|
|
log.info("扫码类型:" + configProperties.getScanCodeMode().getTray());
|
|
|
|
//托盘使用sick扫码枪
|
|
|
|
//托盘使用sick扫码枪
|
|
|
|
// SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
// SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
// SensorGun sensorGun = sensorService.getSensorByPlc(street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
Future<String> sickFuture = executor.submit(() -> {
|
|
|
|
// Future<String> sickFuture = executor.submit(() -> {
|
|
|
|
|
|
|
|
//
|
|
|
|
long startsickTime = System.currentTimeMillis();
|
|
|
|
// long startsickTime = System.currentTimeMillis();
|
|
|
|
String code = "";
|
|
|
|
// String code = "";
|
|
|
|
if (sensorGun == null) {
|
|
|
|
// if (sensorGun == null) {
|
|
|
|
code = "扫码枪未配置";
|
|
|
|
// code = "扫码枪未配置";
|
|
|
|
log.error("no sensor gun config in database ,street id:{},direction:{}", street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
// log.error("no sensor gun config in database ,street id:{},direction:{}", street.getId(), plcCmdInfo.getLeftRight1());
|
|
|
|
} else {
|
|
|
|
// } else {
|
|
|
|
try {
|
|
|
|
// try {
|
|
|
|
code = SickSocket.readOCR(sensorGun.getIp(), sensorGun.getPort(), configProperties.getScanCodeMode().getSickScanTime());
|
|
|
|
// code = SickSocket.readOCR(sensorGun.getIp(), sensorGun.getPort(), configProperties.getScanCodeMode().getSickScanTime());
|
|
|
|
} catch (Exception e) {
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
|
|
|
//
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
log.info("sensor tray code:{}", code);
|
|
|
|
// log.info("sensor tray code:{}", code);
|
|
|
|
if ("".equals(wmsTrayCode)) {
|
|
|
|
// if ("".equals(wmsTrayCode)) {
|
|
|
|
//托盘码为空,无货物
|
|
|
|
// //托盘码为空,无货物
|
|
|
|
//只要扫码枪未识别出条码,即认为盘点正确
|
|
|
|
// //只要扫码枪未识别出条码,即认为盘点正确
|
|
|
|
if (StringUtils.isEmpty(code) || code.equals("NoRead")) {
|
|
|
|
// if (StringUtils.isEmpty(code) || code.equals("NoRead")) {
|
|
|
|
code = "";
|
|
|
|
// code = "";
|
|
|
|
} else {
|
|
|
|
// } else {
|
|
|
|
code = "扫码枪识别异常";
|
|
|
|
// code = "扫码枪识别异常";
|
|
|
|
log.warn("sick ocr error:{}", code);
|
|
|
|
// log.warn("sick ocr error:{}", code);
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
} else {
|
|
|
|
// } else {
|
|
|
|
if (StringUtils.isEmpty(code) || code.equals("NoRead")) {
|
|
|
|
// if (StringUtils.isEmpty(code) || code.equals("NoRead")) {
|
|
|
|
code = "扫码枪识别异常";
|
|
|
|
// code = "扫码枪识别异常";
|
|
|
|
log.warn("sick ocr error:{}", code);
|
|
|
|
// log.warn("sick ocr error:{}", code);
|
|
|
|
} else {
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
//
|
|
|
|
log.info("sick ocr:{}", code);
|
|
|
|
// log.info("sick ocr:{}", code);
|
|
|
|
//扫到就认为正常
|
|
|
|
// //扫到就认为正常
|
|
|
|
code = "";
|
|
|
|
// code = "";
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
long endsickTime = System.currentTimeMillis();
|
|
|
|
// long endsickTime = System.currentTimeMillis();
|
|
|
|
|
|
|
|
//
|
|
|
|
log.info("sick time:{}millisecond", startsickTime - endsickTime);
|
|
|
|
// log.info("sick time:{}millisecond", startsickTime - endsickTime);
|
|
|
|
return code;
|
|
|
|
// return code;
|
|
|
|
|
|
|
|
//
|
|
|
|
});
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
|
|
// RFID
|
|
|
|
// RFID
|
|
|
|
// RFID rfid = rfidService.getRFIDByPlc(street.getId(),plcCmdInfo.getLeftRight1());
|
|
|
|
// RFID rfid = rfidService.getRFIDByPlc(street.getId(),plcCmdInfo.getLeftRight1());
|
|
|
|
@ -734,8 +733,15 @@ public class PlcService {
|
|
|
|
tags = RFIDStop(plcCmdInfo);
|
|
|
|
tags = RFIDStop(plcCmdInfo);
|
|
|
|
log.info("盘点rfid扫描结果:" + tags);
|
|
|
|
log.info("盘点rfid扫描结果:" + tags);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (tags != null && tags.size() > 0) {
|
|
|
|
|
|
|
|
//镇海深巷道,进行假盘点
|
|
|
|
//镇海深巷道,进行假盘点
|
|
|
|
|
|
|
|
if(plcCmdInfo.getSeparation1() == 1){
|
|
|
|
|
|
|
|
if (tags.contains(wmsTrayCode)){
|
|
|
|
|
|
|
|
code = "";
|
|
|
|
|
|
|
|
}else code = "rfid识别失败";
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
code="";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (tags != null && tags.size() > 0) {
|
|
|
|
// if ( tags.contains(wmsTrayCode)) {
|
|
|
|
// if ( tags.contains(wmsTrayCode)) {
|
|
|
|
// log.info("扫描成功");
|
|
|
|
// log.info("扫描成功");
|
|
|
|
//
|
|
|
|
//
|
|
|
|
@ -783,22 +789,21 @@ public class PlcService {
|
|
|
|
|
|
|
|
|
|
|
|
if (rfid == null || "".equals(rfid)) {
|
|
|
|
if (rfid == null || "".equals(rfid)) {
|
|
|
|
trayRFIDCheck = Boolean.TRUE;
|
|
|
|
trayRFIDCheck = Boolean.TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
//trayCode += rfid;
|
|
|
|
|
|
|
|
if ("".equals(trayCode)) {
|
|
|
|
|
|
|
|
trayCode = "盘点正确";
|
|
|
|
|
|
|
|
trayCode = wmsTrayCode;
|
|
|
|
trayCode = wmsTrayCode;
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
trayCode = rfid;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//trayCode += rfid;
|
|
|
|
|
|
|
|
// if ("".equals(trayCode)) {
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// trayCode = wmsTrayCode;
|
|
|
|
|
|
|
|
// }
|
|
|
|
} catch (InterruptedException | ExecutionException e) {
|
|
|
|
} catch (InterruptedException | ExecutionException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
OrderInfo orderInfo = new OrderInfo(street, plcCmdInfo, 1, cmdCode);
|
|
|
|
OrderInfo orderInfo = new OrderInfo(street, plcCmdInfo, 1, cmdCode);
|
|
|
|
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(orderInfo.getStreetId(), plcCmdInfo.getFromDirection(), orderInfo.getSeparation(), orderInfo.getRow(), orderInfo.getColumn());
|
|
|
|
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(orderInfo.getStreetId(), plcCmdInfo.getFromDirection(), orderInfo.getSeparation(), orderInfo.getRow(), orderInfo.getColumn());
|
|
|
|
String scanCode = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//货物使用球机扫码
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("code:{}", scanCode);
|
|
|
|
|
|
|
|
//核对异常
|
|
|
|
//核对异常
|
|
|
|
Integer status = 1;
|
|
|
|
Integer status = 1;
|
|
|
|
//托盘和货物都正确
|
|
|
|
//托盘和货物都正确
|
|
|
|
@ -809,7 +814,7 @@ public class PlcService {
|
|
|
|
stock = Stock.builder()
|
|
|
|
stock = Stock.builder()
|
|
|
|
.checkNum(plcCmdInfo.getOrderNum())
|
|
|
|
.checkNum(plcCmdInfo.getOrderNum())
|
|
|
|
.lotnum(plcCmdInfo.getLotnum())
|
|
|
|
.lotnum(plcCmdInfo.getLotnum())
|
|
|
|
.code(scanCode)
|
|
|
|
// .code(scanCode)
|
|
|
|
.wmsCode(wmsCode)
|
|
|
|
.wmsCode(wmsCode)
|
|
|
|
.wmsTrayCode(wmsTrayCode)
|
|
|
|
.wmsTrayCode(wmsTrayCode)
|
|
|
|
.trayCode(trayCode)
|
|
|
|
.trayCode(trayCode)
|
|
|
|
@ -830,7 +835,7 @@ public class PlcService {
|
|
|
|
stock.setCheckNum(plcCmdInfo.getOrderNum());
|
|
|
|
stock.setCheckNum(plcCmdInfo.getOrderNum());
|
|
|
|
stock.setTrayCode(trayCode);
|
|
|
|
stock.setTrayCode(trayCode);
|
|
|
|
stock.setWmsTrayCode(wmsTrayCode);
|
|
|
|
stock.setWmsTrayCode(wmsTrayCode);
|
|
|
|
stock.setCode(scanCode);
|
|
|
|
// stock.setCode(scanCode);
|
|
|
|
stock.setWmsCode(wmsCode);
|
|
|
|
stock.setWmsCode(wmsCode);
|
|
|
|
stockMapper.updateById(stock);
|
|
|
|
stockMapper.updateById(stock);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|