From 37acf024122d98abc6b58f6866a51a7b0adca84a Mon Sep 17 00:00:00 2001 From: QuShuailong Date: Thu, 7 Sep 2023 11:07:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E7=9B=98=E7=82=B9=E5=A4=84=E7=90=86=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E5=B0=86TM=E6=94=B9=E4=B8=BASC=EF=BC=8C=E4=BD=BF=E5=8F=91?= =?UTF-8?q?=E7=BB=99=E5=AE=A2=E6=88=B7=E7=AB=AF=E7=9A=84=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=A4=B4=E5=92=8C=E6=99=AE=E5=A4=A9=E5=8F=91?= =?UTF-8?q?=E9=80=81=E7=9A=84=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/ClientTestController.java | 10 +- .../com/zhehekeji/web/service/PlcService.java | 72 +++---- .../zhehekeji/web/service/client/Decoder.java | 28 +-- .../web/service/client/TMTransmission.java | 181 ------------------ .../zhehekeji/web/service/putian/PTData.java | 24 +-- 5 files changed, 67 insertions(+), 248 deletions(-) delete mode 100644 web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java diff --git a/web/src/main/java/com/zhehekeji/web/controller/ClientTestController.java b/web/src/main/java/com/zhehekeji/web/controller/ClientTestController.java index a7a464e..187bac1 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/ClientTestController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/ClientTestController.java @@ -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 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(); } 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 31e731f..bfeac3d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -10,7 +10,7 @@ import com.zhehekeji.web.pojo.OrderVO; 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; @@ -440,41 +440,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); } @@ -483,34 +483,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); diff --git a/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java b/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java index a6a44fc..b4f001e 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/Decoder.java @@ -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("入库顶部拍照"); @@ -176,21 +176,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()); } diff --git a/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java b/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java deleted file mode 100644 index 4139a5d..0000000 --- a/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java +++ /dev/null @@ -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; - } -} diff --git a/web/src/main/java/com/zhehekeji/web/service/putian/PTData.java b/web/src/main/java/com/zhehekeji/web/service/putian/PTData.java index 526f6fa..45c9c17 100644 --- a/web/src/main/java/com/zhehekeji/web/service/putian/PTData.java +++ b/web/src/main/java/com/zhehekeji/web/service/putian/PTData.java @@ -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";