camera_merge
qiushui 4 years ago
parent f3db6e8a27
commit f0ea64a0f4

@ -76,6 +76,11 @@ public class MyProtocolDecoder extends FixedLengthFrameDecoder {
byte b8 = in.readByte();
byte[] bytes = new byte[]{b1, b2, b3, b4, b5, b6, b7, b8};
String signal = "pl43"+plcId+type+String.valueOf(taskId)+short1+short2+short3+short4+short5+short6+short7+short8+":"+code+b1+b2+b3+b4+b5+b6+b7+b8;
byte[] bytesBarNumSys = {b5, b6, b7, b8};
int boxNumAlgo = b3;
int boxNumSys = b4;
//String barCodeSys = String.valueOf(b5)+b6+b7+b8;
String barCodeSys = new String(bytesBarNumSys, "UTF-8");
if(!type.equals(HEART)){
log.info("plcId:{},原始信号:{}", plcId, signal);
}
@ -85,9 +90,23 @@ public class MyProtocolDecoder extends FixedLengthFrameDecoder {
} else if (type.equals(ORDER)) {
if ("B1".equals(code)) {
log.info("order start ,plcId:{},orderInfo:{}", plcId, plcOrderInfo.toString());
//根据后四位是否有条码信息来判断随行模式还是盘点模式
if(b5 == 0 && b6 == 0 && b7 ==0 && b8 ==0) {
log.info("随行模式");
} else {
log.info("盘点模式");
log.info("Verification mode. Code:{}, box number(system):{}, box number(algorithm):{}", barCodeSys, boxNumSys, boxNumAlgo);
}
plcService.orderStart(plcOrderInfo, plcId);
} else if ("B2".equals(code)) {
log.info("order end, plcId:{},orderInfo:{}", plcId, plcOrderInfo.toString());
if(b5 == 0 && b6 == 0 && b7 ==0 && b8 ==0) {
log.info("随行模式");
} else {
log.info("盘点模式");
log.info("Verification mode. Code:{}, box number(system):{}, box number(algorithm):{}", barCodeSys, boxNumSys, boxNumAlgo);
plcService.recordStock(plcOrderInfo,plcId,barCodeSys,boxNumSys,boxNumAlgo);
}
plcService.orderStop(plcId, plcOrderInfo.getOrderNum());
}
} else if (type.equals(ACTION)) {

@ -6,6 +6,7 @@ import com.zhehekeji.web.entity.*;
import com.zhehekeji.web.lib.*;
import com.zhehekeji.web.mapper.*;
import com.zhehekeji.web.pojo.OrderVO;
import com.zhehekeji.web.pojo.stock.CheckByMan;
import com.zhehekeji.web.pojo.stock.StockStatus;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@ -47,6 +48,8 @@ public class PlcService {
private StreetService streetService;
@Resource
private CameraIOMapper ioMapper;
@Resource
private StockService stockService;
/**
*
@ -330,4 +333,49 @@ public class PlcService {
ZWPtzControlModule.turn360C8(street.getCamera2Id(),ptzId);
}
}
public void recordStock(PlcOrderInfo plcOrderInfo, String plcId, String barCodeSys, int boxNumSys, int boxNumAlgo)
{
Street street = streetService.getStreetByPlcId(plcId);
if(street == null){
return;
}
//拍照,转动 需要知道是哪个货架
//1 判断是左右货架 1:左货架 2右货架
//判断左右 行列号
Integer leftRight = plcOrderInfo.getLeftRight2();
String shelveId;
if(leftRight == 1){
shelveId = street.getLeftShelveId();
}else {
shelveId = street.getRightShelveId();
}
Stock stock = stockMapper.getByShelveIdAndRowColumn(shelveId,plcOrderInfo.getRow2(),plcOrderInfo.getColumn2());
if(stock != null)
{
stock.setCategory(barCodeSys);
stock.setCount(boxNumSys);
if(boxNumSys == boxNumAlgo)
{
stock.setStatus(StockStatus.SUCCESS.getStatus());
log.info("核对正确");
stockMapper.updateById(stock);
}
else
{
log.info("核对失败");
stock.setStatus(StockStatus.ERROR.getStatus());
stockMapper.updateById(stock);
CheckByMan checkByMan = new CheckByMan();
checkByMan.setShelveId(shelveId);
checkByMan.setRow(plcOrderInfo.getRow2());
checkByMan.setColumn(plcOrderInfo.getColumn2());
checkByMan.setCategory(barCodeSys);
checkByMan.setCount(boxNumAlgo);
stockService.checkByMan(checkByMan);
}
}
}
}

Loading…
Cancel
Save