拍照修改

玉溪
LAPTOP-S9HJSOEB\昊天 4 months ago
parent 4478af314d
commit 8b61d0754d

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.executor; 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.framework.netty.streetAlgorithm.CheckIntellBlinkDecoder;
import cn.iocoder.yudao.module.camera.service.plc.PLCService; import cn.iocoder.yudao.module.camera.service.plc.PLCService;
import cn.iocoder.yudao.module.system.service.dict.DictDataService; import cn.iocoder.yudao.module.system.service.dict.DictDataService;
@ -27,20 +26,28 @@ public class GetPhotoDelayExecutor {
private PLCService plcService; private PLCService plcService;
@Resource @Resource
private RestTemplate restTemplate; private RestTemplate restTemplate;
/** /**
* GET * POST
* @param baseUrl URL
* @param aisle * @param aisle
* @param side * @param side
* @param taskId ID
* @return updownMap * @return updownMap
*/ */
public Map<String, String> getPhotos(String baseUrl, String aisle, String side,String taskId) { public Map<String, String> getPhotos( String aisle, Integer side, String taskId) {
String url = String.format("%s?aisle=%s&side=%s&taskId=%s", baseUrl, aisle, side,taskId);
String url = String.format("http://127.0.0.1:9023/pic?aisle=%s&side=%s&taskid=%s", Integer.parseInt(aisle), side, taskId);
try { try {
// 发送GET请求并直接转换为Map // 准备POST请求参数
Map<String, String> response = restTemplate.getForObject(url, Map.class); 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; return response;
} catch (Exception e) { } catch (Exception e) {
// 处理异常 // 处理异常
@ -50,6 +57,7 @@ public class GetPhotoDelayExecutor {
} }
// 线程池,用于执行延时任务 // 线程池,用于执行延时任务
public static DelayQueue<AlgorithmDelayTask> delayTasks = new DelayQueue<>(); public static DelayQueue<AlgorithmDelayTask> delayTasks = new DelayQueue<>();
private static ExecutorService exec = Executors.newFixedThreadPool(15); private static ExecutorService exec = Executors.newFixedThreadPool(15);
@ -68,21 +76,7 @@ public class GetPhotoDelayExecutor {
// if(getCommand(cameraDelayTask.getTaskId())!=null){ // 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()); CheckIntellBlinkDecoder.setHttp(cameraDelayTask, dictDataService.parseDictData("camera_conf", "storageUrl").getValue());
@ -97,42 +91,6 @@ public class GetPhotoDelayExecutor {
//如果队列中没有,则只记录 //如果队列中没有,则只记录
plcService.stockSave(cameraDelayTask); 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 * 0
@ -147,7 +105,27 @@ public class GetPhotoDelayExecutor {
public static void main(String[] args) { 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();
}
} }
/** /**

@ -451,12 +451,13 @@ public class PLCServiceImpl implements PLCService {
AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(dataInfo.getFromDirection(),street.getPlcId() AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(dataInfo.getFromDirection(),street.getPlcId()
,dataInfo.getTaskId(),10000,finalStock.getTrayCode(),"E1",dataInfo.getFromRow(),dataInfo.getFromColumn()); ,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"; Map<String, String> photos = getPhotoDelayExecutor.getPhotos(street.getPlcId(), algorithmDelayTask.getDirection(), uuid);
urlResourcesService.save(URLResourcesDo.builder().url(pathSrc).uuid(uuid).type("1").little("拍照").build()); String path = "http://" + dictDataService.parseDictData("base_conf", "local_path").getValue() + ":9007/pic/"+ photos.get("up");
algorithmDelayTask.setPath(pathSrc); urlResourcesService.save(URLResourcesDo.builder().url(path).uuid(uuid).type("1").little("拍照").build());
algorithmDelayTask.setPath(path);
String storageCode = "F" String storageCode = "F"
+ dictDataService.parseDictData("base_conf", "library_code").getValue() + dictDataService.parseDictData("base_conf", "library_code").getValue()
+formatNumber((Integer.parseInt(algorithmDelayTask.getSRMNumber())-1)*2+algorithmDelayTask.getDirection(),2) +formatNumber((Integer.parseInt(algorithmDelayTask.getSRMNumber())-1)*2+algorithmDelayTask.getDirection(),2)
@ -732,16 +733,17 @@ public class PLCServiceImpl implements PLCService {
AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(kescEntity.getData().getToDirection(), street.getPlcId() AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(kescEntity.getData().getToDirection(), street.getPlcId()
, kescEntity.getData().getTaskId(), 10000, sensorGunCode, "C3", kescEntity.getData().getToRow(), kescEntity.getData().getToColumn()); , kescEntity.getData().getTaskId(), 10000, sensorGunCode, "C3", kescEntity.getData().getToRow(), kescEntity.getData().getToColumn());
String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; Map<String, String> 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()); KsecDataInfo ksecDataInfo = KsecDataInfo.toFrom(kescEntity.getData());
// stockSave(ksecDataInfo, street, sensorGunCode); // 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.setPath(path);
algorithmDelayTask.setUuid(uuid); algorithmDelayTask.setUuid(uuid);
algorithmDelayTask.setStatus(2); algorithmDelayTask.setStatus(2);
// getPhotoDelayExecutor.communicationNoSetHttpFactory(algorithmDelayTask); // 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+ ";"); order.setPics(order.getPics() == null ? path : order.getPics() + path+ ";");
orderMapper.updateById(order); orderMapper.updateById(order);

Loading…
Cancel
Save