From f059a2b3d61791c59713a326bcb44c97d8de4d07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?LAPTOP-S9HJSOEB=5C=E6=98=8A=E5=A4=A9?= Date: Fri, 17 May 2024 15:09:50 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=A2=9E=E5=8A=A0=E7=9B=98=E7=82=B9=E5=90=8E?= =?UTF-8?q?=E9=9A=8F=E8=A1=8C=E6=8B=8D=E7=85=A7=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/config/ConfigProperties.java | 2 ++ .../com/zhehekeji/web/service/PlcService.java | 35 +++++++++++-------- .../zhehekeji/web/service/StockService.java | 2 +- .../web/service/client/TransmissionPojo.java | 1 + web/src/main/resources/application-prod.yml | 4 ++- 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java index 14fb48d..abaa6c1 100644 --- a/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java +++ b/web/src/main/java/com/zhehekeji/web/config/ConfigProperties.java @@ -50,6 +50,8 @@ public class ConfigProperties { private String productDoc; + private boolean inventorySimulationFollow = false; + @Data public static class CameraConfig{ 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 a787227..55c2e4d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -127,14 +127,14 @@ public class PlcService { Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId()); if (street != null) { - if(plcCmdInfo.getLeftRight1() == 1){ - if(plcCmdInfo.getRow1()>street.getLeftRow() && plcCmdInfo.getColumn1() > street.getLeftColumn()){ - log.error("row:{},column:{},error in streetId:{} left",plcCmdInfo.getRow1(),plcCmdInfo.getColumn1(),street.getId()); + if (plcCmdInfo.getLeftRight1() == 1) { + if (plcCmdInfo.getRow1() > street.getLeftRow() && plcCmdInfo.getColumn1() > street.getLeftColumn()) { + log.error("row:{},column:{},error in streetId:{} left", plcCmdInfo.getRow1(), plcCmdInfo.getColumn1(), street.getId()); return; } - }else { - if(plcCmdInfo.getRow1()>street.getRightRow() && plcCmdInfo.getColumn1() > street.getRightColumn()){ - log.error("row:{},column:{},error in streetId:{} right",plcCmdInfo.getRow1(),plcCmdInfo.getColumn1(),street.getId()); + } else { + if (plcCmdInfo.getRow1() > street.getRightRow() && plcCmdInfo.getColumn1() > street.getRightColumn()) { + log.error("row:{},column:{},error in streetId:{} right", plcCmdInfo.getRow1(), plcCmdInfo.getColumn1(), street.getId()); return; } } @@ -148,14 +148,14 @@ public class PlcService { order.setRow1(plcCmdInfo.getRow2()); order.setIntoStockOverTime(LocalDateTime.now()); //2d图左右为相机id - order.setIntoStockOverPic("http://" + street.getPlcIp() + ":8007"+"/storeData/"+street.getPlcId()+"/"+plcCmdInfo.getRow2()+"/"+plcCmdInfo.getColumn2()+"/"+(plcCmdInfo.getLeftRight2()+2)+".PNG"); + order.setIntoStockOverPic("http://" + street.getPlcIp() + ":8007" + "/storeData/" + street.getPlcId() + "/" + plcCmdInfo.getRow2() + "/" + plcCmdInfo.getColumn2() + "/" + (plcCmdInfo.getLeftRight2() + 2) + ".PNG"); //todo 昆船的项目 ,取货 放货是独立的 //取货是是不知道放货的位置的,所以订单开始的时候只写1位置 //订单结束写2位置 orderMapper.insert(order); OrderRealtime.startOrder(street.getId(), plcCmdInfo.getOrderNum()); - TransmissionPojo transmissionPojo = new TransmissionPojo( street, plcCmdInfo.getRow2(), plcCmdInfo.getColumn2(),plcCmdInfo.getLeftRight2(),order.getId().toString()); + TransmissionPojo transmissionPojo = new TransmissionPojo(street, plcCmdInfo.getRow2(), plcCmdInfo.getColumn2(), plcCmdInfo.getLeftRight2(), order.getId().toString()); ClientChanel.get(street.getPlcId()).writeAndFlush(transmissionPojo.toString(TransmissionType.GPS)); } @@ -696,7 +696,7 @@ public class PlcService { checkLogMapper.insert(checkLog); //如果存在则清空表 - if(stockMapper.selectCount(new QueryWrapper().eq("lotnum", checkLog.getLotnum()))==0){ + if (stockMapper.selectCount(new QueryWrapper().eq("lotnum", checkLog.getLotnum())) == 0) { stockMapper.truncate(); } @@ -723,9 +723,9 @@ public class PlcService { stockMapper.insert(stock); } else stockMapper.updateById(stock); TransmissionPojo transmissionPojo = new TransmissionPojo(checkLog, street); - if(ClientChanel.get(dataInfo.getSRMNumber()) != null) { + if (ClientChanel.get(dataInfo.getSRMNumber()) != null) { ClientChanel.get(dataInfo.getSRMNumber()).writeAndFlush(transmissionPojo.toString(TransmissionType.ST)); - }else { + } else { log.error("未找到对应plc" + transmissionPojo.toString()); } //取货完成进行拍照 @@ -733,12 +733,18 @@ public class PlcService { Thread.sleep(50L); if (lock.tryLock()) { //队列中没有任务,发送取图指令 - if (GetPhotoDelayExecutor.cameraDelayTasks.size() ==0 && ClientChanel.get(dataInfo.getSRMNumber()) != null) { - ClientChanel.get(dataInfo.getSRMNumber()).writeAndFlush(transmissionPojo.toString(TransmissionType.GPS)); + if (GetPhotoDelayExecutor.cameraDelayTasks.size() == 0 && ClientChanel.get(dataInfo.getSRMNumber()) != null) { + ClientChanel.get(street.getPlcId()).writeAndFlush(transmissionPojo.toString(TransmissionType.GPS)); } //放置到队列中,等待取图返回后删除 GetPhotoDelayExecutor.addCameraDelayTask(street.getPlcId(), transmissionPojo.toString(TransmissionType.GPS), configProperties.getQueueSpanTime()); } + + if (configProperties.isInventorySimulationFollow()) { + ClientChanel.get(dataInfo.getSRMNumber()).writeAndFlush( + (new TransmissionPojo(street, transmissionPojo.getRow(), transmissionPojo.getColumn(), transmissionPojo.getDirection(), "")).toString(TransmissionType.GPS)); + + } } catch (InterruptedException e) { log.error("取图命令 error", e); } finally { @@ -749,6 +755,7 @@ public class PlcService { } + public void visualCalculationResults(TransmissionPojo transmissionPojo) { CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId()); Stock stock = stockMapper.selectOne(new QueryWrapper().eq("check_Num", checkLog.getId())); @@ -763,7 +770,7 @@ public class PlcService { stock.setCategory(transmissionPojo.getCategory()); } - if(transmissionPojo.getPcd() != null && !"".equals(transmissionPojo.getPcd())) { + if (transmissionPojo.getPcd() != null && !"".equals(transmissionPojo.getPcd())) { stock.setPcd("http://" + street.getPlcIp() + ":8007" + transmissionPojo.getPcd()); } if (transmissionPojo.getPicsPath() != null && transmissionPojo.getPicsPath().size() > 0) { diff --git a/web/src/main/java/com/zhehekeji/web/service/StockService.java b/web/src/main/java/com/zhehekeji/web/service/StockService.java index c259398..8c04237 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StockService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StockService.java @@ -336,7 +336,7 @@ public class StockService { .orderByDesc("into_Stock_Over_Time") .last("limit 1")); if(order != null){ - stock.setOveroperationPic(order.getIntoStockOverPic()); + stock.setOveroperationPic("http://" + street.getPlcIp() + ":8007" + "/storeData/" + street.getPlcId() + "/" + stock.getRow() + "/" + stock.getColumn() + "/" + (stock.getDirection() + 2) + ".PNG"); } return stock; } diff --git a/web/src/main/java/com/zhehekeji/web/service/client/TransmissionPojo.java b/web/src/main/java/com/zhehekeji/web/service/client/TransmissionPojo.java index 5749a7b..dc2d96d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/client/TransmissionPojo.java +++ b/web/src/main/java/com/zhehekeji/web/service/client/TransmissionPojo.java @@ -151,6 +151,7 @@ public class TransmissionPojo { } public static void main(String[] args) { + TransmissionPojo transmissionPojo = new TransmissionPojo("GPE&002/1/18&7&2&123&41111&30&0&fff;.\\\\f.png;/f.png>"); System.out.println(transmissionPojo); } diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index dc0d05c..92ec1d1 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -96,4 +96,6 @@ scanCodeMode: # 照片 視頻保存多久 deleteFileDays: 30 -productDoc: "C:/Users/昊天/Desktop/新建 文本文档 (3).txt" \ No newline at end of file +productDoc: "C:/Users/昊天/Desktop/新建 文本文档 (3).txt" + +inventorySimulationFollow: false \ No newline at end of file