Merge branch 'nanjing-yancao-wuliuzhongxin-qsl' of https://gitlab.hzleaper.com:81/duoji/backend-duoji-monitor into nanjing-yancao-wuliuzhongxin-qsl

nanjing-yancao-wuliuzhongxin-qsl
LAPTOP-S9HJSOEB\昊天 3 years ago
commit 4111d5c641

@ -106,9 +106,9 @@ public class ClientTestController {
@ApiParam("货位号,如L0100010002 ,R/L表示左右,01是浅货位02深,0001是X,0002是Y") @RequestParam String goodsLocation,@ApiParam("品规")@RequestParam String code,@ApiParam("数量") @RequestParam Integer count,
@ApiParam("是否是虚拟检测 Y:是 N:不是") @RequestParam String V){
TMTransmission tmTransmission = new TMTransmission(SRMNumber,taskId,goodsLocation,code,count,V);
plcService.checkStart(tmTransmission);
String msg = tmTransmission.toString();
SCTransmission scTransmission = new SCTransmission(SRMNumber,taskId,goodsLocation,code,count,V);
plcService.checkStart(scTransmission);
String msg = scTransmission.toString();
ClientChanel.write(msg,SRMNumber);
return Result.success();
}
@ -117,8 +117,8 @@ public class ClientTestController {
@GetMapping("/stockCheck/goodsMoveOver")
public Result<String> goodsMoveOver(@ApiParam("巷道标识") @RequestParam String SRMNumber,@ApiParam("盘点批次ID") @RequestParam String taskId){
TMTransmission tmTransmission = new TMTransmission(SRMNumber,taskId);
String msg = tmTransmission.toSC02String();
SCTransmission scTransmission = new SCTransmission(SRMNumber,taskId);
String msg = scTransmission.toSC02String();
ClientChanel.write(msg,SRMNumber);
return Result.success();
}

@ -12,7 +12,7 @@ import com.zhehekeji.web.pojo.camera.CameraPtzPojo;
import com.zhehekeji.web.service.RFID.RFIDMap;
import com.zhehekeji.web.service.RFID.RFIDSocket;
import com.zhehekeji.web.service.client.ECResultMessage;
import com.zhehekeji.web.service.client.TMTransmission;
import com.zhehekeji.web.service.client.SCTransmission;
import com.zhehekeji.web.entity.EmptyCheckPic;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@ -482,41 +482,41 @@ public class PlcService {
/**
*
* @param tmTransmission
* @param scTransmission
* @return
*/
public Stock checkStart(TMTransmission tmTransmission){
log.info("【开始盘点货位】save stock info ,taskId:{},SRMNumber:{}goodsLocation:{}",tmTransmission.getTaskNo(),tmTransmission.getSRMNumber(),tmTransmission.getGoodsLocation());
Street street = streetService.getStreetByPlcId(tmTransmission.getSRMNumber());
Integer row = Integer.valueOf(tmTransmission.getGoodsLocation().substring(8,10));
Integer column = Integer.valueOf(tmTransmission.getGoodsLocation().substring(5,8));
Integer leftRight = Integer.valueOf(tmTransmission.getGoodsLocation().substring(4,5));
Integer inout = Integer.valueOf(tmTransmission.getGoodsLocation().substring(11,12));
public Stock checkStart(SCTransmission scTransmission){
log.info("【开始盘点货位】save stock info ,taskId:{},SRMNumber:{}goodsLocation:{}",scTransmission.getTaskNo(),scTransmission.getSRMNumber(),scTransmission.getGoodsLocation());
Street street = streetService.getStreetByPlcId(scTransmission.getSRMNumber());
Integer row = Integer.valueOf(scTransmission.getGoodsLocation().substring(8,10));
Integer column = Integer.valueOf(scTransmission.getGoodsLocation().substring(5,8));
Integer leftRight = Integer.valueOf(scTransmission.getGoodsLocation().substring(4,5));
Integer inout = Integer.valueOf(scTransmission.getGoodsLocation().substring(11,12));
Stock old = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),leftRight,inout,row,column);
if(old == null){
old = new Stock();
old.setCount(null);
old.setCode(null);
old.setCategory(null);
old.setCheckNum(tmTransmission.getTaskNo());
old.setLotnum(tmTransmission.getTaskNo());
old.setCheckNum(scTransmission.getTaskNo());
old.setLotnum(scTransmission.getTaskNo());
old.setRow(row);
old.setColumn(column);
old.setDirection(leftRight);
old.setSide(inout);
old.setWmsCode(tmTransmission.getGoodsLocation());
old.setWmsCategory(tmTransmission.getCategory());
old.setWmsCount(tmTransmission.getCount());
old.setWmsCode(scTransmission.getGoodsLocation());
old.setWmsCategory(scTransmission.getCategory());
old.setWmsCount(scTransmission.getCount());
old.setStreetId(street.getId());
old.setExportTime(LocalDateTime.now());
old.setWmsTrayCode("");
stockMapper.insert(old);
}else {
old.setLotnum(tmTransmission.getTaskNo());
old.setLotnum(scTransmission.getTaskNo());
old.setExportTime(LocalDateTime.now());
old.setWmsCode(tmTransmission.getGoodsLocation());
old.setWmsCount(tmTransmission.getCount());
old.setCheckNum(tmTransmission.getTaskNo());
old.setWmsCode(scTransmission.getGoodsLocation());
old.setWmsCount(scTransmission.getCount());
old.setCheckNum(scTransmission.getTaskNo());
old.setWmsTrayCode("");
stockMapper.updateById(old);
}
@ -525,34 +525,34 @@ public class PlcService {
/**
*
* @param tmTransmission
* @param scTransmission
* @return
*/
public Stock checkEnd(TMTransmission tmTransmission){
log.info("【盘点货位结果返回】update stock info ,taskId:{},SRMNumber:{},goodsLocation:{}",tmTransmission.getTaskNo(),tmTransmission.getSRMNumber(),tmTransmission.getGoodsLocation());
Street street = streetService.getStreetByPlcId(tmTransmission.getSRMNumber());
Integer row = Integer.valueOf(tmTransmission.getGoodsLocation().substring(8,10));
Integer column = Integer.valueOf(tmTransmission.getGoodsLocation().substring(5,8));
Integer leftRight = Integer.valueOf(tmTransmission.getGoodsLocation().substring(4,5));
Integer inout = Integer.valueOf(tmTransmission.getGoodsLocation().substring(11,12));
public Stock checkEnd(SCTransmission scTransmission){
log.info("【盘点货位结果返回】update stock info ,taskId:{},SRMNumber:{},goodsLocation:{}",scTransmission.getTaskNo(),scTransmission.getSRMNumber(),scTransmission.getGoodsLocation());
Street street = streetService.getStreetByPlcId(scTransmission.getSRMNumber());
Integer row = Integer.valueOf(scTransmission.getGoodsLocation().substring(8,10));
Integer column = Integer.valueOf(scTransmission.getGoodsLocation().substring(5,8));
Integer leftRight = Integer.valueOf(scTransmission.getGoodsLocation().substring(4,5));
Integer inout = Integer.valueOf(scTransmission.getGoodsLocation().substring(11,12));
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),leftRight,inout,row,column);
if(stock != null){
stock.setCount(tmTransmission.getRstCount());
stock.setCategory(tmTransmission.getRstCategory());
stock.setCode(tmTransmission.getGoodsLocation());
stock.setWmsCategory(tmTransmission.getCategory());
stock.setCount(scTransmission.getRstCount());
stock.setCategory(scTransmission.getRstCategory());
stock.setCode(scTransmission.getGoodsLocation());
stock.setWmsCategory(scTransmission.getCategory());
//盘点正确 2
//盘点异常 1
Integer status = tmTransmission.getRstCount().equals(stock.getWmsCount()) && tmTransmission.getRstCategory().equals(stock.getWmsCategory()) ? 2: 1;
Integer status = scTransmission.getRstCount().equals(stock.getWmsCount()) && scTransmission.getRstCategory().equals(stock.getWmsCategory()) ? 2: 1;
stock.setStatus(status);
stock.setTrayCode(tmTransmission.getTrayNo());
stock.setTrayCode(scTransmission.getTrayNo());
stockMapper.updateById(stock);
log.info("update check info,taskId:{},SRMNumber:{},goodsLocation:{}",stock.getCheckNum(),tmTransmission.getSRMNumber(),tmTransmission.getGoodsLocation());
log.info("update check info,taskId:{},SRMNumber:{},goodsLocation:{}",stock.getCheckNum(),scTransmission.getSRMNumber(),scTransmission.getGoodsLocation());
}else {
log.info("check end,but no stock info ,taskId:{},SRMNumber:{},goodsLocation:{}",tmTransmission.getTaskNo(),tmTransmission.getSRMNumber(),tmTransmission.getGoodsLocation());
log.info("check end,but no stock info ,taskId:{},SRMNumber:{},goodsLocation:{}",scTransmission.getTaskNo(),scTransmission.getSRMNumber(),scTransmission.getGoodsLocation());
stock = new Stock();
stock.setCount(tmTransmission.getCount());
stock.setCode(tmTransmission.getCode());
stock.setCount(scTransmission.getCount());
stock.setCode(scTransmission.getCode());
stock.setStatus(1);
}
// checkLog(stock);

@ -121,10 +121,10 @@ public class Decoder extends DelimiterBasedFrameDecoder {
PuTianNettyClient.write(ptDataSend);
//发送给客户端
PTCheckContent ptCheckContent = PTCheckContent.CheckContentSC01(ptData.getContent());
TMTransmission tmTransmission = new TMTransmission(ptCheckContent.getSRMNUmber(),ptCheckContent.getTaskNo(),ptCheckContent.getGoodsLocation(),ptCheckContent.getCode(), ptCheckContent.getCount(), "N");
plcService.checkStart(tmTransmission);
String tmTransmissionStr = tmTransmission.toString();
ClientChanel.write(tmTransmissionStr,ptCheckContent.getSRMNUmber());
SCTransmission scTransmission = new SCTransmission(ptCheckContent.getSRMNUmber(),ptCheckContent.getTaskNo(),ptCheckContent.getGoodsLocation(),ptCheckContent.getCode(), ptCheckContent.getCount(), "N");
plcService.checkStart(scTransmission);
String scTransmissionStr = scTransmission.toString();
ClientChanel.write(scTransmissionStr,ptCheckContent.getSRMNUmber());
in.release();
}
else if (ptData.getType().equals(PTData.STOCK_CHECK_02)){
@ -132,9 +132,9 @@ public class Decoder extends DelimiterBasedFrameDecoder {
PTData ptDataSend = new PTData(ptData.getContent(), PTData.FLOW_A, PTData.STOCK_CHECK_02);
PuTianNettyClient.write(ptDataSend);
PTCheckContent ptCheckContent = PTCheckContent.CheckContentSC02(ptData.getContent());
TMTransmission tmTransmission = new TMTransmission(ptCheckContent.getSRMNUmber(),ptCheckContent.getTaskNo());
String tmTransmissionStr = tmTransmission.toSC02String();
ClientChanel.write(tmTransmissionStr,ptCheckContent.getSRMNUmber());
SCTransmission scTransmission = new SCTransmission(ptCheckContent.getSRMNUmber(),ptCheckContent.getTaskNo());
String scTransmissionStr = scTransmission.toSC02String();
ClientChanel.write(scTransmissionStr,ptCheckContent.getSRMNUmber());
}
else if (ptData.getType().equals(PTData.Into_Stock_01)){
log.info("入库顶部拍照");
@ -178,21 +178,21 @@ public class Decoder extends DelimiterBasedFrameDecoder {
ClientChanel.connect(hbTransmission.getSRMNumber(), ctx.channel());
//tcpLogger.info("client:{} heart", hbTransmission.getSRMNumber());
in.release();
} else if(body.startsWith(TMTransmission.getHeader())){
} else if(body.startsWith(SCTransmission.getHeader())){
//盘点指令
TMTransmission tmTransmission = new TMTransmission(body);
if(tmTransmission.isCollectOver()){
SCTransmission scTransmission = new SCTransmission(body);
if(scTransmission.isCollectOver()){
//给普天发送数据采集完毕指令
PTData ptData = PTData.StockCheck03(tmTransmission.getSRMNumber(),tmTransmission.getTaskNo(),"1");
PTData ptData = PTData.StockCheck03(scTransmission.getSRMNumber(),scTransmission.getTaskNo(),"1");
PuTianNettyClient.write(ptData);
}else {
//收到盘点结果
Stock stock = plcService.checkEnd(tmTransmission);
Stock stock = plcService.checkEnd(scTransmission);
//将盘点结果发给普天
PTData ptData = PTData.StockCheck04(tmTransmission);
PTData ptData = PTData.StockCheck04(scTransmission);
PuTianNettyClient.write(ptData);
//添加到实时信息里
RealtimeCheckMap.put(tmTransmission.getSRMNumber(),tmTransmission.checkInfo());
RealtimeCheckMap.put(scTransmission.getSRMNumber(),scTransmission.checkInfo());
//更新盤點統計
// emptyCheckService.updateCheckLastTime(tmTransmission.getTaskNo(),tmTransmission.getSRMNumber(),stock.getCode());
}

@ -1,181 +0,0 @@
package com.zhehekeji.web.service.client;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Slf4j
/**
*
*
*
*/
@Data
public class TMTransmission {
private static String header = "TM";
private String SRMNumber;
/**
*
*/
private String taskNo;
/**
*
*/
private String goodsLocation;
/**
*
*/
private String trayNo;
private String code;
/**
*
*/
private String category;
private Integer count;
/**
*
*/
private String rstCategory;
private Integer rstCount;
private String visualTest;
private String isDisConnect;
/**
*
*/
private String checkRst;
/**
* 1: 2
*/
private Integer direction;
/**
* 1 2
*/
private Integer side;
private static String Split = "&";
private boolean collectOver;
public String toString(){
StringBuffer sb = new StringBuffer(header);
sb.append(Split).append(SRMNumber).append(Split).append(goodsLocation).append(Split)
.append(taskNo).append(Split).append(code)
.append(Split).append(count).append(Split).append(visualTest);
return sb.toString();
}
public String toSC02String(){
return header+Split+SRMNumber+Split+taskNo;
}
public static String getHeader(){
return header;
}
// public TMTransmission(String body){
// String [] strings = body.split(Split);
// if(strings != null && strings.length >= 9 && strings[0].equals(header)){
// if(strings.length == 9){
// SRMNumber = strings[1];
// taskNo = strings[2];
// goodsLocation = strings[3];
// trayNo = strings[4];
// code = strings[5];
// count = Integer.valueOf(strings[6]);
// visualTest = strings[7];
// isDisConnect = strings[8];
// direction = goodsLocation.substring(0).equals("L") ? 1:2;
// side = Integer.valueOf(goodsLocation.substring(2,3));
// //checkType = strings[7];
// collectOver = false;
// if("Y".equals(isDisConnect)){
// //需要拆分之前的
// }
// }
//
// }else if(strings.length == 3){
// //是盘点数据采集完成的信号
// collectOver = true;
// SRMNumber = strings[1];
// taskNo = strings[2];
// //goodsLocation = strings[3];
// }
// }
//TM&6&UL062009050111&2121&11010019&30&NULL&NULL
public TMTransmission(String body){
log.info("tmtrans body: {}", body);
String [] strings = body.split(Split);
if(strings != null && strings.length >= 9 && strings[0].equals(header)){
if(strings.length == 9){
SRMNumber = strings[1];
goodsLocation = strings[2];
taskNo = strings[3];
category = strings[4];
count = Integer.valueOf(strings[5]);
rstCategory = strings[6];
rstCount = Integer.valueOf(strings[7]);
checkRst = strings[8];
collectOver = false;
log.info("taskNo:{}, srmNumber:{}, goodsLocation:{}", taskNo, SRMNumber, goodsLocation);
// if("Y".equals(isDisConnect)){
// //需要拆分之前的
// }
}
}else if(strings.length == 3){
//是盘点数据采集完成的信号
collectOver = true;
SRMNumber = strings[1];
taskNo = strings[2];
//goodsLocation = strings[3];
}
}
public TMTransmission(String SRMNumber,String taskId,String goodsLocation,String code,Integer count,String visual){
this.SRMNumber = SRMNumber;
this.taskNo = taskId;
this.goodsLocation = goodsLocation;
this.code = code;
this.count = count;
this.trayNo = "Unknown";
this.visualTest = visual;
}
public TMTransmission(String SRMNumber,String taskId){
this.SRMNumber = SRMNumber;
this.taskNo = taskId;
}
public RealtimeCheckMap.CheckInfo checkInfo(){
log.info("cheinfo start");
RealtimeCheckMap.CheckInfo checkInfo = new RealtimeCheckMap.CheckInfo();
Integer row = Integer.valueOf(goodsLocation.substring(8,10));
Integer column = Integer.valueOf(goodsLocation.substring(5,8));
Integer leftRight = Integer.valueOf(goodsLocation.substring(4,5));
Integer inout = Integer.valueOf(goodsLocation.substring(11,12));
checkInfo.setDirection(leftRight);
checkInfo.setColumn(column);
checkInfo.setRow(row);
checkInfo.setSide(inout);
checkInfo.setTaskNo(this.taskNo);
// checkInfo.setWMSCategory(category);
// checkInfo.setWMSCount(count);
// checkInfo.setWMSCode(code);
checkInfo.setCheckCode(goodsLocation);
checkInfo.setCheckCount(rstCount);
//checkInfo.setCheckCategory();
return checkInfo;
}
}

@ -3,7 +3,7 @@ package com.zhehekeji.web.service.putian;
//import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import com.zhehekeji.web.entity.Stock;
import com.zhehekeji.web.service.client.ClientChanel;
import com.zhehekeji.web.service.client.TMTransmission;
import com.zhehekeji.web.service.client.SCTransmission;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -140,19 +140,19 @@ public class PTData {
/**
*
*/
public static PTData StockCheck04(TMTransmission tmTransmission){
public static PTData StockCheck04(SCTransmission scTransmission){
StringBuffer contentSB = new StringBuffer();
String SRMNumber = tmTransmission.getSRMNumber();
String goodsLocation = tmTransmission.getGoodsLocation();
String taskId = tmTransmission.getTaskNo();
String smokeCategory = tmTransmission.getCategory();
String smokeCount = tmTransmission.getCount().toString();
String smokeRstCategory = tmTransmission.getRstCategory();
Integer rstCount = tmTransmission.getRstCount();
String SRMNumber = scTransmission.getSRMNumber();
String goodsLocation = scTransmission.getGoodsLocation();
String taskId = scTransmission.getTaskNo();
String smokeCategory = scTransmission.getCategory();
String smokeCount = scTransmission.getCount().toString();
String smokeRstCategory = scTransmission.getRstCategory();
Integer rstCount = scTransmission.getRstCount();
String smokeRstCount = rstCount.toString();
String checkRst = tmTransmission.getCheckRst();
String ip ="http://"+ClientChanel.getIpFromId(tmTransmission.getSRMNumber())+":9009/pic/"+tmTransmission.getGoodsLocation()+"/"
+tmTransmission.getTaskNo()+"/";
String checkRst = scTransmission.getCheckRst();
String ip ="http://"+ClientChanel.getIpFromId(scTransmission.getSRMNumber())+":9009/pic/"+scTransmission.getGoodsLocation()+"/"
+scTransmission.getTaskNo()+"/";
String pic1 = ip + 1 + ".png";
String pic2 = ip + 2 + ".png";
String pic3 = ip + 3 + ".png";

Loading…
Cancel
Save