diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java index 1e0c06f..613bb2f 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/streetAlgorithm/executor/GetPhotoDelayExecutor.java @@ -1,7 +1,6 @@ package cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.executor; -import cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.CheckIntellBlinkChanel; import cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.CheckIntellBlinkDecoder; import cn.iocoder.yudao.module.camera.service.plc.PLCService; import cn.iocoder.yudao.module.system.service.dict.DictDataService; @@ -27,27 +26,36 @@ public class GetPhotoDelayExecutor { private PLCService plcService; @Resource private RestTemplate restTemplate; - - /** - * 发送GET请求获取照片路径 - * @param baseUrl 基础URL - * @param aisle 巷道号 - * @param side 左右方向 - * @return 包含up和down照片路径的Map - */ - public Map getPhotos(String baseUrl, String aisle, String side,String taskId) { - String url = String.format("%s?aisle=%s&side=%s&taskId=%s", baseUrl, aisle, side,taskId); - - try { - // 发送GET请求并直接转换为Map - Map response = restTemplate.getForObject(url, Map.class); - return response; - } catch (Exception e) { - // 处理异常 - e.printStackTrace(); - return new HashMap<>(); - } +/** + * 发送POST请求获取照片路径 + * @param aisle 巷道号 + * @param side 左右方向 + * @param taskId 任务ID + * @return 包含up和down照片路径的Map + */ +public Map getPhotos( String aisle, Integer side, String taskId) { + + String url = String.format("http://127.0.0.1:9023/pic?aisle=%s&side=%s&taskid=%s", Integer.parseInt(aisle), side, taskId); + + try { + // 准备POST请求参数 + Map requestBody = new HashMap<>(); + requestBody.put("aisle", aisle); + requestBody.put("side", side); + requestBody.put("taskid", taskId); + + // 发送POST请求并直接转换为Map + Map response = restTemplate.postForObject(url, requestBody, Map.class); + + log.info("Received photo paths response: {}", response); + return response; + } catch (Exception e) { + // 处理异常 + e.printStackTrace(); + return new HashMap<>(); } +} + // 线程池,用于执行延时任务 @@ -68,21 +76,7 @@ public class GetPhotoDelayExecutor { // if(getCommand(cameraDelayTask.getTaskId())!=null){ // // } - String cameraType = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getCmdName()+"-"+cameraDelayTask.getDirection()+"-"+"up"; - String type = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getDirection()+"-"+"up"; - //拍照顶部 - CheckIntellBlinkChanel.pictures(cameraDelayTask.getSRMNumber(),cameraDelayTask.getTaskId(),cameraType - , dictDataService.parseDictData("camera_position", type).getValue()); - try { - Thread.sleep(200); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - //拍照底部 - String cameraTypeDown = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getCmdName()+"-"+cameraDelayTask.getDirection()+"-"+"down"; - String typeDown = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getDirection()+"-"+"down"; - CheckIntellBlinkChanel.pictures(cameraDelayTask.getSRMNumber(),cameraDelayTask.getTaskId(),cameraTypeDown - , dictDataService.parseDictData("camera_position", typeDown).getValue()); + //码位为库 货架号 层 列 CheckIntellBlinkDecoder.setHttp(cameraDelayTask, dictDataService.parseDictData("camera_conf", "storageUrl").getValue()); @@ -97,42 +91,6 @@ public class GetPhotoDelayExecutor { //如果队列中没有,则只记录 plcService.stockSave(cameraDelayTask); - } - public void communicationNoSetHttpFactory(AlgorithmDelayTask cameraDelayTask){ - //放置到队列中,等待取图返回后删除 -// delayTasks.add(cameraDelayTask); -// if(getCommand(cameraDelayTask.getTaskId())!=null){ -// -// } - String cameraType = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getCmdName()+"-"+cameraDelayTask.getDirection()+"-"+"up"; - String type = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getDirection()+"-"+"up"; - //拍照顶部 - CheckIntellBlinkChanel.pictures(cameraDelayTask.getSRMNumber(),cameraDelayTask.getTaskId(),cameraType - , dictDataService.parseDictData("camera_position", type).getValue()); - try { - Thread.sleep(200); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - //拍照底部 - String cameraTypeDown = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getCmdName()+"-"+cameraDelayTask.getDirection()+"-"+"down"; - String typeDown = cameraDelayTask.getSRMNumber()+"-"+cameraDelayTask.getDirection()+"-"+"down"; - CheckIntellBlinkChanel.pictures(cameraDelayTask.getSRMNumber(),cameraDelayTask.getTaskId(),cameraTypeDown - , dictDataService.parseDictData("camera_position", typeDown).getValue()); - //码位为库 货架号 层 列 - -// CheckIntellBlinkDecoder.setHttp(cameraDelayTask, dictDataService.parseDictData("camera_conf", "storageUrl").getValue()); - String storageCode = "F" - + dictDataService.parseDictData("base_conf", "library_code").getValue() - +formatNumber((Integer.parseInt(cameraDelayTask.getSRMNumber())-1)*2+cameraDelayTask.getDirection(),2) - +formatNumber(cameraDelayTask.getRow(),2) - +formatNumber(cameraDelayTask.getColumn(),2); - if (cameraDelayTask.getRow()!=0 && cameraDelayTask.getColumn()!=0) { - cameraDelayTask.setStorageCode(storageCode); - } - //如果队列中没有,则只记录 -// plcService.stockSave(cameraDelayTask); - } /** * 将数字转换为指定长度的字符串,不足部分前面补0。 @@ -147,7 +105,27 @@ public class GetPhotoDelayExecutor { public static void main(String[] args) { - System.out.println((Integer.parseInt("003")-1)*2+2); + RestTemplate restTemplate = new RestTemplate(); + String aisle = "1"; + Integer side = 1; + String taskId = "123456"; + + String url = String.format("http://127.0.0.1:8094/test/pic?aisle=%s&side=%s&taskId=%s", Integer.parseInt(aisle), side, taskId); + + try { + // 准备POST请求参数 + Map requestBody = new HashMap<>(); + requestBody.put("aisle", aisle); + requestBody.put("side", side); + requestBody.put("taskId", taskId); + + // 发送POST请求并直接转换为Map + Map response = restTemplate.postForObject(url, requestBody, Map.class); + log.info("Response: {}", response); + } catch (Exception e) { + // 处理异常 + e.printStackTrace(); + } } /** diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java index 211f21c..f028dc5 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java @@ -451,12 +451,13 @@ public class PLCServiceImpl implements PLCService { AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(dataInfo.getFromDirection(),street.getPlcId() ,dataInfo.getTaskId(),10000,finalStock.getTrayCode(),"E1",dataInfo.getFromRow(),dataInfo.getFromColumn()); - String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; +// String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; - String pathSrc = "http://"+ dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic"+street.getPlcId()+"/" + dataInfo.getTaskId() + "_" + picPath + ".JPEG"; - urlResourcesService.save(URLResourcesDo.builder().url(pathSrc).uuid(uuid).type("1").little("拍照").build()); - algorithmDelayTask.setPath(pathSrc); + Map photos = getPhotoDelayExecutor.getPhotos(street.getPlcId(), algorithmDelayTask.getDirection(), uuid); + String path = "http://" + dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic/"+ photos.get("up"); + urlResourcesService.save(URLResourcesDo.builder().url(path).uuid(uuid).type("1").little("拍照").build()); + algorithmDelayTask.setPath(path); String storageCode = "F" + dictDataService.parseDictData("base_conf", "library_code").getValue() +formatNumber((Integer.parseInt(algorithmDelayTask.getSRMNumber())-1)*2+algorithmDelayTask.getDirection(),2) @@ -727,21 +728,22 @@ public class PLCServiceImpl implements PLCService { } scanData.setCode(trayCode); //拍照i - //CheckIntellBlinkChanel.pictures(street.getPlcId(), kescEntity.getData().getTaskId(),cameraType,dictDataService.parseDictData("camera_position", cameraType).getValue()); +// CheckIntellBlinkChanel.pictures(street.getPlcId(), kescEntity.getData().getTaskId(),cameraType,dictDataService.parseDictData("camera_position", cameraType).getValue()); AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(kescEntity.getData().getToDirection(), street.getPlcId() , kescEntity.getData().getTaskId(), 10000, sensorGunCode, "C3", kescEntity.getData().getToRow(), kescEntity.getData().getToColumn()); - String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; + Map photos = getPhotoDelayExecutor.getPhotos(street.getPlcId(), algorithmDelayTask.getDirection(), uuid); + String path = "http://" + dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic/"+ photos.get("up"); +// String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; KsecDataInfo ksecDataInfo = KsecDataInfo.toFrom(kescEntity.getData()); // stockSave(ksecDataInfo, street, sensorGunCode); - String path = "http://" + dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic"+street.getPlcId()+"/"+ kescEntity.getData().getTaskId() + "_" + picPath + ".JPEG"; algorithmDelayTask.setPath(path); algorithmDelayTask.setUuid(uuid); algorithmDelayTask.setStatus(2); // getPhotoDelayExecutor.communicationNoSetHttpFactory(algorithmDelayTask); - urlResourcesService.save(URLResourcesDo.builder().url(path).uuid(uuid).type("1").little("球机拍照").build()); + urlResourcesService.save(URLResourcesDo.builder().url(path).uuid(uuid).type("1").little("拍照").build()); order.setPics(order.getPics() == null ? path : order.getPics() + path+ ";"); orderMapper.updateById(order);