增加修改

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

@ -27,6 +27,11 @@ public class CheckIntellBlinkChanel {
return channelMap.get(SRMNumber);
}
//拍照
public static void pictures(String SRMNumber,String taskId,String cameraType,String cameraId){
Channel channel= channelMap.get( SRMNumber);

@ -9,7 +9,10 @@ import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.DelayQueue;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ -22,12 +25,42 @@ import java.util.concurrent.Executors;
public class GetPhotoDelayExecutor {
@Resource
private PLCService plcService;
@Resource
private RestTemplate restTemplate;
/**
* GET
* @param baseUrl URL
* @param aisle
* @param side
* @return updownMap
*/
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);
try {
// 发送GET请求并直接转换为Map
Map<String, String> response = restTemplate.getForObject(url, Map.class);
return response;
} catch (Exception e) {
// 处理异常
e.printStackTrace();
return new HashMap<>();
}
}
// 线程池,用于执行延时任务
public static DelayQueue<AlgorithmDelayTask> delayTasks = new DelayQueue<>();
private static ExecutorService exec = Executors.newFixedThreadPool(15);
//先放入队列,再进行拍照,这里进行超时判断,超时后发送信息,并且删除任务
public void communicationFactory(AlgorithmDelayTask cameraDelayTask){
//放置到队列中,等待取图返回后删除
@ -64,6 +97,42 @@ 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

@ -376,8 +376,8 @@ public class PLCServiceImpl implements PLCService {
StockDO finalStock = stock;
// 扫码枪扫描
ScanData trayCode = scanServiceFactory.scan("1", street, dataInfo, finalStock);
stock.setWmsTrayCode(trayCode.getCode());
stock.setTrayCode(dataInfo.getTrayCode());
stock.setTrayCode(trayCode.getCode());
stock.setWmsTrayCode(dataInfo.getTrayCode());
if (!stock.getWmsTrayCode().equals(stock.getTrayCode())){
status.set("1");
}
@ -734,12 +734,12 @@ public class PLCServiceImpl implements PLCService {
String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up";
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.setUuid(uuid);
algorithmDelayTask.setStatus(2);
getPhotoDelayExecutor.communicationFactory(algorithmDelayTask);
// getPhotoDelayExecutor.communicationNoSetHttpFactory(algorithmDelayTask);
urlResourcesService.save(URLResourcesDo.builder().url(path).uuid(uuid).type("1").little("球机拍照").build());

Loading…
Cancel
Save