|
|
|
|
@ -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
|
|
|
|
|
/**
|
|
|
|
|
* 发送POST请求获取照片路径
|
|
|
|
|
* @param aisle 巷道号
|
|
|
|
|
* @param side 左右方向
|
|
|
|
|
* @param taskId 任务ID
|
|
|
|
|
* @return 包含up和down照片路径的Map
|
|
|
|
|
*/
|
|
|
|
|
public Map<String, String> getPhotos(String baseUrl, String aisle, String side,String taskId) {
|
|
|
|
|
String url = String.format("%s?aisle=%s&side=%s&taskId=%s", baseUrl, aisle, side,taskId);
|
|
|
|
|
public Map<String, String> 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 {
|
|
|
|
|
// 发送GET请求并直接转换为Map
|
|
|
|
|
Map<String, String> response = restTemplate.getForObject(url, Map.class);
|
|
|
|
|
// 准备POST请求参数
|
|
|
|
|
Map<String, Object> requestBody = new HashMap<>();
|
|
|
|
|
requestBody.put("aisle", aisle);
|
|
|
|
|
requestBody.put("side", side);
|
|
|
|
|
requestBody.put("taskid", taskId);
|
|
|
|
|
|
|
|
|
|
// 发送POST请求并直接转换为Map
|
|
|
|
|
Map<String, String> 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<String, Object> requestBody = new HashMap<>();
|
|
|
|
|
requestBody.put("aisle", aisle);
|
|
|
|
|
requestBody.put("side", side);
|
|
|
|
|
requestBody.put("taskId", taskId);
|
|
|
|
|
|
|
|
|
|
// 发送POST请求并直接转换为Map
|
|
|
|
|
Map<String, String> response = restTemplate.postForObject(url, requestBody, Map.class);
|
|
|
|
|
log.info("Response: {}", response);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 处理异常
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|