From 0976d446a6c199acb2a6dd82cec9052cdab3cf5c Mon Sep 17 00:00:00 2001 From: yiming Date: Wed, 11 May 2022 10:04:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=9B=98=E7=82=B9=E6=89=B9?= =?UTF-8?q?=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhehekeji/web/entity/CheckLog.java | 2 ++ .../java/com/zhehekeji/web/entity/Stock.java | 3 +++ .../com/zhehekeji/web/mapper/StockMapper.java | 2 ++ .../com/zhehekeji/web/service/PlcCmdInfo.java | 5 +++- .../com/zhehekeji/web/service/PlcService.java | 8 ++++-- .../web/service/StockCheckRunnable.java | 4 ++- .../zhehekeji/web/service/TestService.java | 2 +- .../web/service/ksec/KsecDecoder.java | 25 ++++++++----------- .../web/service/robotic/ProtocolDecoder.java | 2 +- web/src/main/resources/mapper/StockMapper.xml | 4 +++ 10 files changed, 37 insertions(+), 20 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java b/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java index 1736ee1..bf7f2a6 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java +++ b/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java @@ -47,6 +47,8 @@ public class CheckLog { private String pic; + private String lotnum; + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; diff --git a/web/src/main/java/com/zhehekeji/web/entity/Stock.java b/web/src/main/java/com/zhehekeji/web/entity/Stock.java index 855d8f8..5dac865 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Stock.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Stock.java @@ -27,6 +27,9 @@ public class Stock { @ApiModelProperty("盘点任务号") private String checkNum; + @ApiModelProperty("盘点批次号") + private String lotnum; + @ApiModelProperty("扫描出的条码") private String code; diff --git a/web/src/main/java/com/zhehekeji/web/mapper/StockMapper.java b/web/src/main/java/com/zhehekeji/web/mapper/StockMapper.java index c5b5320..7af112e 100644 --- a/web/src/main/java/com/zhehekeji/web/mapper/StockMapper.java +++ b/web/src/main/java/com/zhehekeji/web/mapper/StockMapper.java @@ -16,5 +16,7 @@ public interface StockMapper extends BaseMapper { @Select("select * from stock where shelve_id = #{shelveId} and `row` = #{row} and `column` = #{column} limit 1") Stock getByShelveIdAndRowColumn(@Param("shelveId") String shelveId,@Param("row") Integer row,@Param("column") Integer column); + void truncate(); + } diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java b/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java index df0a556..051893f 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcCmdInfo.java @@ -68,7 +68,9 @@ public class PlcCmdInfo { private Integer times; - public PlcCmdInfo(String plcId, String taskId, Integer side1, Integer leftRight1, Integer column1, Integer row1, Integer separation1, Integer side2, Integer leftRight2, Integer column2, Integer row2, Integer separation2) { + private String lotnum; + + public PlcCmdInfo(String plcId, String taskId, Integer side1, Integer leftRight1, Integer column1, Integer row1, Integer separation1, Integer side2, Integer leftRight2, Integer column2, Integer row2, Integer separation2,String lotnum) { this.taskId = taskId; this.side1 = side1; this.leftRight1 = leftRight1; @@ -82,6 +84,7 @@ public class PlcCmdInfo { this.orderNum = plcId + "_" + taskId; this.separation1 = separation1; this.separation2 = separation2; + this.lotnum = lotnum; } public String getLeftRightStr(int times) { 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 91ff6a2..5e9be50 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -423,7 +423,7 @@ public class PlcService { stock.setShelveId(orderInfo.getShelveId()); stock.setColumn(orderInfo.getColumn()); stock.setRow(orderInfo.getRow()); - stock.setStatus(0); + //stock.setStatus(0); //if the stock is null,take over path only stock.setOveroperationPic(path); stock.setOrderNum(order.getOrderNum()); @@ -434,7 +434,7 @@ public class PlcService { stock.setPreoperationPic(stock.getOveroperationPic()); stock.setOveroperationPic(path); stock.setOrderNum(order.getOrderNum()); - stock.setStatus(0); + //stock.setStatus(0); stockMapper.updateById(stock); } } @@ -589,6 +589,10 @@ public class PlcService { return true; } + public void truncateStock(){ + stockMapper.truncate(); + } + } diff --git a/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java b/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java index aac3e53..14ef48a 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java +++ b/web/src/main/java/com/zhehekeji/web/service/StockCheckRunnable.java @@ -116,10 +116,11 @@ public class StockCheckRunnable implements Runnable { status = 2; } if(stock == null){ - stock = new Stock(null,null,plcCmdInfo.getOrderNum(),scanCode,null,null,wmsCode,null,null,wmsTrayCode,trayCode,orderInfo.getShelveId(),orderInfo.getRow(),orderInfo.getColumn(),status,null,null,path, LocalDateTime.now()); + stock = new Stock(null,null,plcCmdInfo.getOrderNum(),plcCmdInfo.getLotnum(),scanCode, null,null,wmsCode,null,null,wmsTrayCode,trayCode,orderInfo.getShelveId(),orderInfo.getRow(),orderInfo.getColumn(),status,null,null,path, LocalDateTime.now()); stockMapper.insert(stock); }else { stock.setStatus(status); + stock.setLotnum(plcCmdInfo.getLotnum()); stock.setExportTime(LocalDateTime.now()); stock.setCheckPic(path); stock.setCheckNum(plcCmdInfo.getOrderNum()); @@ -145,6 +146,7 @@ public class StockCheckRunnable implements Runnable { checkLog.setCreateTime(LocalDateTime.now()); checkLog.setTrayCode(stock.getTrayCode()); checkLog.setWmsTrayCode(stock.getWmsTrayCode()); + checkLog.setLotnum(stock.getLotnum()); checkLogMapper.insert(checkLog); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/TestService.java b/web/src/main/java/com/zhehekeji/web/service/TestService.java index 6a56782..69a3b18 100644 --- a/web/src/main/java/com/zhehekeji/web/service/TestService.java +++ b/web/src/main/java/com/zhehekeji/web/service/TestService.java @@ -36,7 +36,7 @@ public class TestService { for(int j = 1; j<= column;j++){ String code = "123456789013"; String taskId = i +"-"+ j+"-"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("hhmmss")); - PlcCmdInfo plcCmdInfo = new PlcCmdInfo(street.getPlcId(),taskId,1,leftRight,j,i,1,1,1,1,1,1); + PlcCmdInfo plcCmdInfo = new PlcCmdInfo(street.getPlcId(),taskId,1,leftRight,j,i,1,1,1,1,1,1,""); plcCmdInfo.setTimes(1); int co = j%3 + 1; plcService.check(plcCmdInfo,"E"+co,code,"123456789013"); diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java index f39880e..100b3de 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java @@ -45,11 +45,12 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { body = body.substring(1, body.length()); KsecInfo ksecInfo = JSONObject.parseObject(body, KsecInfo.class); KsecDataInfo dataInfo = ksecInfo.getData(); + String lotnum = dataInfo.getLotnum(); PlcCmdInfo plcCmdInfo = null; String srmNumber = null; String cmdName = null; if(dataInfo != null){ - plcCmdInfo = new PlcCmdInfo(dataInfo.getSRMNumber(), dataInfo.getTaskId(), dataInfo.getFromSide(), dataInfo.getFromDirection(), dataInfo.getFromColumn(), dataInfo.getFromRow(), dataInfo.getFromSeparation(),dataInfo.getToSide(), dataInfo.getToDirection(), dataInfo.getToColumn(), dataInfo.getToRow(),dataInfo.getToSeparation()); + plcCmdInfo = new PlcCmdInfo(dataInfo.getSRMNumber(), dataInfo.getTaskId(), dataInfo.getFromSide(), dataInfo.getFromDirection(), dataInfo.getFromColumn(), dataInfo.getFromRow(), dataInfo.getFromSeparation(),dataInfo.getToSide(), dataInfo.getToDirection(), dataInfo.getToColumn(), dataInfo.getToRow(),dataInfo.getToSeparation(),lotnum); srmNumber = dataInfo.getSRMNumber(); cmdName = dataInfo.getCmdName(); } @@ -104,27 +105,23 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { tcpLogger.info("info:{}",body); //盘点 //转球机到盘点位 然后拍照 - String lotnum = dataInfo.getLotnum(); + if(!StringUtils.isEmpty(lotnum) && !lotnum.equals(lastLotnum)){ //需要把stock表truncate + tcpLogger.info("truncate table ,last lotnum:{},new lotnum:{}",lastLotnum,lotnum); + plcService.truncateStock(); lastLotnum = lotnum; } - - if(ksecInfo.getData().getCmdName().equals("test")){ - plcService.kescTest6(plcCmdInfo,ksecInfo.getData().getCmdName(), dataInfo.getCode()); + Boolean ok = plcService.check(plcCmdInfo,ksecInfo.getData().getCmdName(), dataInfo.getCode(), dataInfo.getTrayCode()); + if(ok){ + ksecInfo.getData().setAckStatus(1); }else { - Boolean ok = plcService.check(plcCmdInfo,ksecInfo.getData().getCmdName(), dataInfo.getCode(), dataInfo.getTrayCode()); - if(ok){ - ksecInfo.getData().setAckStatus(1); - }else { - ksecInfo.getData().setAckStatus(0); - } - ctx.channel().writeAndFlush(ksecInfo); + ksecInfo.getData().setAckStatus(0); + } + ctx.channel().writeAndFlush(ksecInfo); } //找到该货位的最后一张照片与现在的照片比照 //plcService.recordStock(plcCmdInfo, dataInfo.getCode(), 0, 0); - } - } in.release(); return null; diff --git a/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java b/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java index 8114a49..6906b22 100644 --- a/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java @@ -66,7 +66,7 @@ public class ProtocolDecoder extends FixedLengthFrameDecoder { short short6 = in.readShort(); short short7 = in.readShort(); short short8 = in.readShort(); - PlcCmdInfo plcCmdInfo = new PlcCmdInfo(plcId, String.valueOf(taskId), (int) short1, (int) short2, (int) short3, (int) short4,1, (int) short5, (int) short6, (int) short7, (int) short8,1); + PlcCmdInfo plcCmdInfo = new PlcCmdInfo(plcId, String.valueOf(taskId), (int) short1, (int) short2, (int) short3, (int) short4,1, (int) short5, (int) short6, (int) short7, (int) short8,1,""); byte maohao = in.readByte(); byte leixing = in.readByte(); diff --git a/web/src/main/resources/mapper/StockMapper.xml b/web/src/main/resources/mapper/StockMapper.xml index d930c32..451aa92 100644 --- a/web/src/main/resources/mapper/StockMapper.xml +++ b/web/src/main/resources/mapper/StockMapper.xml @@ -17,4 +17,8 @@ ) values (#{req.category},#{req.count},#{req.shelveId},#{req.row},#{req.column},#{req.status}) ON DUPLICATE KEY UPDATE set `count` = #{req.count},category = #{req.category} + + + truncate table stock; +