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 5cd00e6..c1d218d 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/ClientTestController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/ClientTestController.java @@ -37,7 +37,7 @@ public class ClientTestController { @GetMapping("/emptyCheck/start") public Result startEmptyCheck(@ApiParam("巷道标识")@RequestParam String SRMNumber,@ApiParam("盘点批次ID") @RequestParam String taskId, @ApiParam("检测第几行")@RequestParam Integer row, @ApiParam("开始列")@RequestParam Integer startColumn,@ApiParam("结束列")@RequestParam Integer endColumn){ - emptyCheckService.emptyCheckStart(SRMNumber,taskId,row); + emptyCheckService.emptyCheckStart(SRMNumber,taskId,row,startColumn,endColumn); String msg = ECTransmission.toEmptyCheckStartString(SRMNumber); ClientChanel.write(msg,SRMNumber); return Result.success(msg); @@ -57,33 +57,33 @@ public class ClientTestController { String shevel = null; if(street.getLeftType() == 0){ //单伸 - String SingleLeft = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,1,row); + String SingleLeft = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,1,row,startColumn,endColumn); shevel = "L01"; ptEmptyCheckContent = PTEmptyCheckContent.emptyCheckResponse(SRMNumber,taskId,row,startColumn,endColumn,shevel,SingleLeft); ptData = PTData.EmptyStatusResponse(ptEmptyCheckContent); PuTianNettyClient.write(ptData); - String SingleRight = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,2,row); + String SingleRight = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,2,row,startColumn,endColumn); shevel = "R01"; ptEmptyCheckContent = PTEmptyCheckContent.emptyCheckResponse(SRMNumber,taskId,row,startColumn,endColumn,shevel,SingleRight); ptData = PTData.EmptyStatusResponse(ptEmptyCheckContent); PuTianNettyClient.write(ptData); }else { - String SingleInLeft = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,1,row); + String SingleInLeft = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,1,row,startColumn,endColumn); shevel = "L01"; ptEmptyCheckContent = PTEmptyCheckContent.emptyCheckResponse(SRMNumber,taskId,row,startColumn,endColumn,shevel,SingleInLeft); ptData = PTData.EmptyStatusResponse(ptEmptyCheckContent); PuTianNettyClient.write(ptData); - String SingleInRight = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,2,row); + String SingleInRight = emptyCheckService.getEmptyStatus(SRMNumber,taskId,1,2,row,startColumn,endColumn); shevel = "R01"; ptEmptyCheckContent = PTEmptyCheckContent.emptyCheckResponse(SRMNumber,taskId,row,startColumn,endColumn,shevel,SingleInRight); ptData = PTData.EmptyStatusResponse(ptEmptyCheckContent); PuTianNettyClient.write(ptData); - String SingleOutLeft = emptyCheckService.getEmptyStatus(SRMNumber,taskId,2,1,row); + String SingleOutLeft = emptyCheckService.getEmptyStatus(SRMNumber,taskId,2,1,row,startColumn,endColumn); shevel = "L02"; ptEmptyCheckContent = PTEmptyCheckContent.emptyCheckResponse(SRMNumber,taskId,row,startColumn,endColumn,shevel,SingleOutLeft); ptData = PTData.EmptyStatusResponse(ptEmptyCheckContent); PuTianNettyClient.write(ptData); - String SingleOutRight = emptyCheckService.getEmptyStatus(SRMNumber,taskId,2,2,row); + String SingleOutRight = emptyCheckService.getEmptyStatus(SRMNumber,taskId,2,2,row,startColumn,endColumn); shevel = "R02"; ptEmptyCheckContent = PTEmptyCheckContent.emptyCheckResponse(SRMNumber,taskId,row,startColumn,endColumn,shevel,SingleOutRight); ptData = PTData.EmptyStatusResponse(ptEmptyCheckContent); @@ -99,6 +99,7 @@ public class ClientTestController { @ApiParam("是否是虚拟检测 Y:是 N:不是") @RequestParam String V){ TMTransmission tmTransmission = new TMTransmission(SRMNumber,taskId,goodsLocation,code,count,V); + plcService.checkStart(tmTransmission); String msg = tmTransmission.toString(); ClientChanel.write(msg,SRMNumber); return Result.success(); @@ -143,7 +144,6 @@ public class ClientTestController { //若1分钟内仍为收到 则放弃 Long start = System.currentTimeMillis(); while (ClientCodeMap.getCode(SRMNumber) == null && (System.currentTimeMillis()-start)<60000){ - try { Thread.sleep(300l); } catch (InterruptedException e) { @@ -157,4 +157,10 @@ public class ClientTestController { } + @ApiOperation("获取正在盘点的数据,包括条码、图片等信息") + @GetMapping("/realtimeCheck") + public Result realtimeCheck(@ApiParam("巷道标识") @RequestParam String SRMNumber){ + return Result.success(RealtimeCheckMap.getRealtimeCheck(SRMNumber)); + } + } diff --git a/web/src/main/java/com/zhehekeji/web/entity/EmptyCheck.java b/web/src/main/java/com/zhehekeji/web/entity/EmptyCheck.java new file mode 100644 index 0000000..f66c9dc --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/entity/EmptyCheck.java @@ -0,0 +1,34 @@ +package com.zhehekeji.web.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class EmptyCheck { + + @TableId + private Integer id; + + private String orderNum; + + private Integer streetId; + + private Integer direction; + + private Integer side; + + @TableField("`row`") + private Integer row; + + @TableField("`column`") + private Integer column; + + private Integer emptyStatus; + + 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 c250401..03dfa32 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Stock.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Stock.java @@ -1,9 +1,6 @@ package com.zhehekeji.web.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -31,12 +28,14 @@ public class Stock { private String lotnum; @ApiModelProperty("扫描出的条码") + @TableField(strategy= FieldStrategy.IGNORED) private String code; @ApiModelProperty("品规名称") + @TableField(strategy= FieldStrategy.IGNORED) private String category; - @TableField(value = "`count`") + @TableField(value = "`count`", strategy= FieldStrategy.IGNORED) @ApiModelProperty("数量") private Integer count; diff --git a/web/src/main/java/com/zhehekeji/web/mapper/EmptyCheckMapper.java b/web/src/main/java/com/zhehekeji/web/mapper/EmptyCheckMapper.java new file mode 100644 index 0000000..20e5dfb --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/mapper/EmptyCheckMapper.java @@ -0,0 +1,7 @@ +package com.zhehekeji.web.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.zhehekeji.web.entity.EmptyCheck; + +public interface EmptyCheckMapper extends BaseMapper { +} diff --git a/web/src/main/java/com/zhehekeji/web/service/EmptyCheckService.java b/web/src/main/java/com/zhehekeji/web/service/EmptyCheckService.java index f897845..402733f 100644 --- a/web/src/main/java/com/zhehekeji/web/service/EmptyCheckService.java +++ b/web/src/main/java/com/zhehekeji/web/service/EmptyCheckService.java @@ -1,14 +1,13 @@ package com.zhehekeji.web.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.zhehekeji.web.entity.CheckStreetSummary; -import com.zhehekeji.web.entity.CheckSummary; -import com.zhehekeji.web.entity.Stock; -import com.zhehekeji.web.entity.Street; +import com.zhehekeji.web.entity.*; import com.zhehekeji.web.mapper.CheckStreetSummaryMapper; import com.zhehekeji.web.mapper.CheckSummaryMapper; +import com.zhehekeji.web.mapper.EmptyCheckMapper; import com.zhehekeji.web.mapper.StockMapper; import com.zhehekeji.web.pojo.empty.EmptyCheckSearch; import com.zhehekeji.web.service.client.ECTransmission; @@ -35,6 +34,8 @@ public class EmptyCheckService { private CheckSummaryMapper checkSummaryMapper; @Resource private CheckStreetSummaryMapper checkStreetSummaryMapper; + @Resource + private EmptyCheckMapper emptyCheckMapper; public PageInfo checkSummaryPageInfo(EmptyCheckSearch emptyCheckSearch){ PageHelper.startPage(emptyCheckSearch.getPageNum(),emptyCheckSearch.getPageSize()); @@ -110,19 +111,19 @@ public class EmptyCheckService { * 空托盘检测 按行开始 * @param */ - public void emptyCheckStart(String SRMNUmber,String taskId,Integer row){ - log.info("空托盘检测 按行开始,SRMNUmber:{},taskNo:{},row:{}",SRMNUmber,taskId,row); + public void emptyCheckStart(String SRMNUmber,String taskId,Integer row,Integer startColumn,Integer endColumn){ + log.info("空托盘检测 按行开始,SRMNUmber:{},taskNo:{},row:{},startColumn:{},endColumn:{}",SRMNUmber,taskId,row,startColumn,endColumn); Street street = streetService.getStreetByPlcId(SRMNUmber); if(street == null){ log.error(" no SRMNumer:{}",SRMNUmber); return; } + Map map = new HashMap<>(); - map.put("street_id",street.getId()); -// map.put("direction",leftRight); -// map.put("side",side); - map.put("row",row); - stockMapper.deleteByMap(map); + //将这些位置的旧数据清空 + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("street_id",street.getId()).eq("`row`",row).ge("`column`",startColumn).le("`column`",endColumn); + emptyCheckMapper.delete(wrapper); //新增空的盘点统计 List checkStreetSummaries = checkStreetSummaryMapper.selectList(new QueryWrapper().eq("street_id",street.getId()).eq("task_id",taskId)); if(checkStreetSummaries.size() == 0){ @@ -136,26 +137,28 @@ public class EmptyCheckService { } - public String getEmptyStatus(String SRMNUmber,String taskId,Integer side,Integer leftRight,Integer row){ + public String getEmptyStatus(String SRMNUmber,String taskId,Integer side,Integer leftRight,Integer row,Integer startColumn,Integer endColumn){ Street street = streetService.getStreetByPlcId(SRMNUmber); if(street == null){ log.error(" no SRMNumer:{}",SRMNUmber); return null; } - List stockList = stockMapper.selectList(new QueryWrapper().eq("`row`",row).eq("street_id",street.getId()).eq("direction",leftRight).eq("side",side)); - Map stockMap = new HashMap<>(stockList.size()*2); - stockList.forEach(stock -> { + List emptyChecks = emptyCheckMapper.selectList(new QueryWrapper().eq("`row`",row).eq("street_id",street.getId()).eq("direction",leftRight).eq("side",side).ge("`column`",startColumn).le("`column`",endColumn)); + //List stockList = stockMapper.selectList(new QueryWrapper().eq("`row`",row).eq("street_id",street.getId()).eq("direction",leftRight).eq("side",side)); + Map stockMap = new HashMap<>(emptyChecks.size()*2); + emptyChecks.forEach(stock -> { stockMap.put(stock.getColumn(),stock); }); - int columns = side == 1?street.getLeftColumn():street.getRightColumn(); + //int columns = side == 1?street.getLeftColumn():street.getRightColumn(); StringBuffer sb = new StringBuffer(); - for(int i = 1;i<=columns;i++){ + for(int i = startColumn;i<=endColumn;i++){ if(stockMap.get(i) != null && stockMap.get(i).getEmptyStatus() == 1){ sb.append(1); }else { sb.append(0); } } + log.info("【空货位盘点结果】SRMNumber:{},row:{},startColumn:{},endColumn:{},emptyStatus:{}",SRMNUmber,row,startColumn,endColumn,sb); return sb.toString(); } @@ -166,18 +169,18 @@ public class EmptyCheckService { log.error(" no SRMNumer:{}",ecTransmission.getSRMNumber()); return; } - Stock stock = new Stock(); - stock.setStreetId(street.getId()); - stock.setSide(ecTransmission.getSide()); - stock.setDirection(ecTransmission.getDirection()); + EmptyCheck emptyCheck = new EmptyCheck(); + emptyCheck.setStreetId(street.getId()); + emptyCheck.setSide(ecTransmission.getSide()); + emptyCheck.setDirection(ecTransmission.getDirection()); if(ecTransmission.getIsEmpty().equals("N")){ - stock.setEmptyStatus(3); + emptyCheck.setEmptyStatus(3); }else { - stock.setEmptyStatus(1); + emptyCheck.setEmptyStatus(1); } - stock.setRow(ecTransmission.getRow()); - stock.setColumn(ecTransmission.getColumn()); - stockMapper.insert(stock); + emptyCheck.setRow(ecTransmission.getRow()); + emptyCheck.setColumn(ecTransmission.getColumn()); + emptyCheckMapper.insert(emptyCheck); } 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 642cb33..25427be 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -9,6 +9,7 @@ import com.zhehekeji.web.mapper.*; 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.TMTransmission; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -439,7 +440,62 @@ public class PlcService { return true; } + /** + * 保存盘点记录 + * @param tmTransmission + * @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(3,7)); + Integer column = Integer.valueOf(tmTransmission.getGoodsLocation().substring(7)); + Integer leftRight = tmTransmission.getGoodsLocation().substring(0,1).equals("L")?1:2; + Integer inout = Integer.valueOf(tmTransmission.getGoodsLocation().substring(1,3)); + Stock old = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),leftRight,inout,row,column); + if(old != null){ + stockMapper.deleteById(old.getId()); + } + Stock stock = new Stock(); + stock.setCount(null); + stock.setCode(null); + stock.setCategory(null); + stock.setCheckNum(tmTransmission.getTaskNo()); + stock.setRow(row); + stock.setColumn(column); + stock.setDirection(leftRight); + stock.setSide(inout); + stock.setWmsCode(tmTransmission.getCode()); + stock.setWmsCount(tmTransmission.getCount()); + stock.setStreetId(street.getId()); + stockMapper.insert(stock); + return stock; + } + /** + * 保存盘点结果 + * @param tmTransmission + * @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(3,7)); + Integer column = Integer.valueOf(tmTransmission.getGoodsLocation().substring(7)); + Integer leftRight = tmTransmission.getGoodsLocation().substring(0,1).equals("L")?1:2; + Integer inout = Integer.valueOf(tmTransmission.getGoodsLocation().substring(1,3)); + Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),leftRight,inout,row,column); + if(stock != null){ + stock.setCount(tmTransmission.getCount()); + stock.setCode(tmTransmission.getCode()); + stockMapper.updateById(stock); + log.info("update check info,taskId:{},SRMNumber:{},count:{},code:{}",stock.getCheckNum(),tmTransmission.getSRMNumber(),tmTransmission.getCount(),tmTransmission.getCode()); + }else { + log.info("check end,but no stock info ,taskId:{},SRMNumber:{},goodsLocation:{}",tmTransmission.getTaskNo(),tmTransmission.getSRMNumber(),tmTransmission.getGoodsLocation()); + } + return stock; + } public void checkLog(Stock 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 d26cb39..a6cfa65 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 @@ -47,7 +47,15 @@ public class Decoder extends DelimiterBasedFrameDecoder { } else if(body.startsWith(TMTransmission.getHeader())){ //盘点指令 TMTransmission tmTransmission = new TMTransmission(body); - + if(tmTransmission.isCollectOver()){ + //todo 给普天发送指令 + }else { + //收到盘点结果 + //添加到实时信息里 + RealtimeCheckMap.put(tmTransmission.getSRMNumber(),tmTransmission.checkInfo()); + //todo 保存到stock表 + plcService.checkStart(tmTransmission); + } in.release(); }else if(body.startsWith(CETransmission.getHEADER())){ //客户端建立连接 diff --git a/web/src/main/java/com/zhehekeji/web/service/client/RealtimeCheckMap.java b/web/src/main/java/com/zhehekeji/web/service/client/RealtimeCheckMap.java new file mode 100644 index 0000000..7ccd1f5 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/client/RealtimeCheckMap.java @@ -0,0 +1,57 @@ +package com.zhehekeji.web.service.client; + +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +@Data +public class RealtimeCheckMap { + + private static Map map = new HashMap<>(); + + public static void put(String SRMNumber,CheckInfo checkInfo){ + map.put(SRMNumber,checkInfo); + } + + public static CheckInfo getRealtimeCheck(String SRMNumber){ + return map.get(SRMNumber); + } + + @Data + public static class CheckInfo{ + + private Integer row; + + private Integer column; + + private Integer side; + + private Integer direction; + + private String WMSCode; + + private String WMSCategory; + + private Integer WMSCount; + + private String checkCode; + + private String checkCategory; + + private Integer checkCount; + + private String topPic1; + + private String topPic2; + + private String sidePic1; + + private String sidePic2; + + private String sidePic3; + + private String sidePic4; + + } +} 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 index 9624e9e..0bfaabe 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/TMTransmission.java @@ -52,6 +52,8 @@ public class TMTransmission { private static String Split = ","; + private boolean collectOver; + public String toString(){ StringBuffer sb = new StringBuffer(header); sb.append(Split).append(SRMNumber).append(Split).append(taskNo).append(Split) @@ -83,11 +85,18 @@ public class TMTransmission { 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 { + //是盘点数据采集完成的信号 + collectOver = true; + SRMNumber = strings[1]; + taskNo = strings[2]; + goodsLocation = strings[3]; } } @@ -104,4 +113,24 @@ public class TMTransmission { this.SRMNumber = SRMNumber; this.taskNo = taskId; } + + public RealtimeCheckMap.CheckInfo checkInfo(){ + RealtimeCheckMap.CheckInfo checkInfo = new RealtimeCheckMap.CheckInfo(); + checkInfo.setCheckCategory(code); + Integer row = Integer.valueOf(goodsLocation.substring(3,7)); + Integer column = Integer.valueOf(goodsLocation.substring(7)); + Integer leftRight = goodsLocation.substring(0,1).equals("L")?1:2; + Integer inout = Integer.valueOf(goodsLocation.substring(1,3)); + checkInfo.setDirection(leftRight); + checkInfo.setColumn(column); + checkInfo.setRow(row); + checkInfo.setSide(inout); + //checkInfo.setWMSCategory(); + //checkInfo.setWMSCount(); + //checkInfo.setWMSCode(); + checkInfo.setCheckCode(code); + checkInfo.setCheckCount(count); + //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 b4cbc20..a2f1527 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 @@ -90,7 +90,7 @@ public class PTData { } public static PTData EmptyStatusResponse(PTEmptyCheckContent ptEmptyCheckContent){ - return new PTData(ptEmptyCheckContent.toString(),FLOW_NO_NEED_RES,EMPTY_CHECK_03); + return new PTData(ptEmptyCheckContent.toResponseString(),FLOW_NO_NEED_RES,EMPTY_CHECK_03); } public String toString(){ diff --git a/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java b/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java index 6992cd8..5f4e043 100644 --- a/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/putian/PTDecoder.java @@ -47,7 +47,7 @@ public class PTDecoder extends LineBasedFrameDecoder { log.info("空货位检测开始"); PTEmptyCheckContent checkContent = PTEmptyCheckContent.EmptyCheck(ptData.getContent()); - emptyCheckService.emptyCheckStart(checkContent.getSRMNUmber(), checkContent.getTaskNo(), checkContent.getRow()); + emptyCheckService.emptyCheckStart(checkContent.getSRMNUmber(), checkContent.getTaskNo(), checkContent.getRow(),checkContent.getStartColumn(),checkContent.getEndColumn()); String startEmptyCheckStr = ECTransmission.toEmptyCheckStartString(checkContent.getSRMNUmber()); //通知客户端开始检测 ClientChanel.write(startEmptyCheckStr,checkContent.getSRMNUmber()); @@ -59,7 +59,7 @@ public class PTDecoder extends LineBasedFrameDecoder { ClientChanel.write(endEmptyCheckStr,checkContent.getSRMNUmber()); //等待3s把空货位盘点的结果发给普天 //todo - emptyCheckService.getEmptyStatus(checkContent.getSRMNUmber(),checkContent.getTaskNo(),1,1,checkContent.getRow()); + emptyCheckService.getEmptyStatus(checkContent.getSRMNUmber(),checkContent.getTaskNo(),1,1,checkContent.getRow(),checkContent.getStartColumn(),checkContent.getEndColumn()); }else if(ptData.getType().equals(PTData.STOCK_CHECK_01)){ log.info("盘点具体货位"); diff --git a/web/src/main/java/com/zhehekeji/web/service/putian/PTEmptyCheckContent.java b/web/src/main/java/com/zhehekeji/web/service/putian/PTEmptyCheckContent.java index 3f7d0eb..246a59a 100644 --- a/web/src/main/java/com/zhehekeji/web/service/putian/PTEmptyCheckContent.java +++ b/web/src/main/java/com/zhehekeji/web/service/putian/PTEmptyCheckContent.java @@ -57,6 +57,13 @@ public class PTEmptyCheckContent { return ptContent; } + public String toResponseString(){ + StringBuffer sb = new StringBuffer(); + sb.append(SRMNUmber).append(",").append(taskNo).append(",").append(row).append(",") + .append(startColumn).append(",").append(endColumn).append(",").append(emptyStatus); + return sb.toString(); + } + public static PTEmptyCheckContent emptyCheckResponse(String SRMNUmber,String taskId,int row,int startColumn,int endColumn,String shelve,String emptyStatus){ PTEmptyCheckContent ptContent = new PTEmptyCheckContent(); ptContent.setSRMNUmber(SRMNUmber);