增加修改

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

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

@ -9,7 +9,10 @@ import jakarta.annotation.PostConstruct;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; 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.DelayQueue;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
@ -22,12 +25,42 @@ import java.util.concurrent.Executors;
public class GetPhotoDelayExecutor { public class GetPhotoDelayExecutor {
@Resource @Resource
private PLCService plcService; 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<>(); public static DelayQueue<AlgorithmDelayTask> delayTasks = new DelayQueue<>();
private static ExecutorService exec = Executors.newFixedThreadPool(15); private static ExecutorService exec = Executors.newFixedThreadPool(15);
//先放入队列,再进行拍照,这里进行超时判断,超时后发送信息,并且删除任务 //先放入队列,再进行拍照,这里进行超时判断,超时后发送信息,并且删除任务
public void communicationFactory(AlgorithmDelayTask cameraDelayTask){ public void communicationFactory(AlgorithmDelayTask cameraDelayTask){
//放置到队列中,等待取图返回后删除 //放置到队列中,等待取图返回后删除
@ -64,6 +97,42 @@ 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

@ -376,8 +376,8 @@ public class PLCServiceImpl implements PLCService {
StockDO finalStock = stock; StockDO finalStock = stock;
// 扫码枪扫描 // 扫码枪扫描
ScanData trayCode = scanServiceFactory.scan("1", street, dataInfo, finalStock); ScanData trayCode = scanServiceFactory.scan("1", street, dataInfo, finalStock);
stock.setWmsTrayCode(trayCode.getCode()); stock.setTrayCode(trayCode.getCode());
stock.setTrayCode(dataInfo.getTrayCode()); stock.setWmsTrayCode(dataInfo.getTrayCode());
if (!stock.getWmsTrayCode().equals(stock.getTrayCode())){ if (!stock.getWmsTrayCode().equals(stock.getTrayCode())){
status.set("1"); status.set("1");
} }
@ -734,12 +734,12 @@ public class PLCServiceImpl implements PLCService {
String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "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"; 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.communicationFactory(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());

Loading…
Cancel
Save