接口优化
This commit is contained in:
parent
3e72a70dd8
commit
a52149750f
|
|
@ -993,22 +993,48 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public BaseWcsApiResponse sendTaskResult(WcsTaskResultRequest wcsTaskResultRequest) {
|
public BaseWcsApiResponse sendTaskResult(WcsTaskResultRequest wcsTaskResultRequest) {
|
||||||
|
int maxRetries = 3;
|
||||||
|
int retryCount = 0;
|
||||||
|
|
||||||
|
while (retryCount < maxRetries) {
|
||||||
|
try {
|
||||||
|
return performSendTaskResult(wcsTaskResultRequest);
|
||||||
|
} catch (Exception e) {
|
||||||
|
if (e.getMessage().contains("Deadlock found when trying to get lock") && retryCount < maxRetries - 1) {
|
||||||
|
retryCount++;
|
||||||
|
log.warn("死锁异常,正在进行第{}次重试,任务ID: {}", retryCount, wcsTaskResultRequest.getTaskId());
|
||||||
|
try {
|
||||||
|
Thread.sleep(50L * retryCount); // 递增延迟
|
||||||
|
} catch (InterruptedException ie) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
throw new RuntimeException("重试过程被中断", ie);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return BaseWcsApiResponse.error("处理任务状态反馈失败,已重试" + maxRetries + "次");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private BaseWcsApiResponse performSendTaskResult(WcsTaskResultRequest wcsTaskResultRequest) {
|
||||||
if (StringUtils.isEmpty(wcsTaskResultRequest.getTaskId()) || wcsTaskResultRequest.getTaskStatus() == null) {
|
if (StringUtils.isEmpty(wcsTaskResultRequest.getTaskId()) || wcsTaskResultRequest.getTaskStatus() == null) {
|
||||||
return BaseWcsApiResponse.error("请求缺少关键信息:任务号、任务状态。");
|
return BaseWcsApiResponse.error("请求缺少关键信息:任务号、任务状态。");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询对应的wcs任务
|
// 查询对应的wcs任务
|
||||||
TAppWcsTask wcsTask = appWcsTaskService.getOne(
|
TAppWcsTask wcsTask = appWcsTaskService.getById(wcsTaskResultRequest.getTaskId());
|
||||||
new LambdaQueryWrapper<TAppWcsTask>()
|
|
||||||
.eq(TAppWcsTask::getWcsTaskId, wcsTaskResultRequest.getTaskId())
|
|
||||||
);
|
|
||||||
if (wcsTask == null) {
|
if (wcsTask == null) {
|
||||||
return BaseWcsApiResponse.error("未找到对应的wcs任务。");
|
return BaseWcsApiResponse.error("未找到对应的wcs任务。");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 转换堆垛机任务状态
|
// 转换堆垛机任务状态
|
||||||
int wmsTaskStatus = ConvertUtils.convertWcsStackerTaskStatusToWmsTaskStatus(wcsTaskResultRequest.getTaskStatus());
|
int wmsTaskStatus = ConvertUtils.convertWcsStackerTaskStatusToWmsTaskStatus(wcsTaskResultRequest.getTaskStatus());
|
||||||
if (wmsTaskStatus == -1) {
|
if (wmsTaskStatus == -1) {
|
||||||
return BaseWcsApiResponse.error("反馈的任务状态值无效。");
|
return BaseWcsApiResponse.error("反馈的任务状态值无效。");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断反馈的任务状态是否是「已完成」
|
// 判断反馈的任务状态是否是「已完成」
|
||||||
if (Objects.equals(wcsTaskResultRequest.getTaskStatus(), WcsStackerTaskStatusEnums.FINISH.getCode())) {
|
if (Objects.equals(wcsTaskResultRequest.getTaskStatus(), WcsStackerTaskStatusEnums.FINISH.getCode())) {
|
||||||
// 更新wms任务状态
|
// 更新wms任务状态
|
||||||
|
|
@ -1051,6 +1077,67 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
|
||||||
return BaseWcsApiResponse.success("处理任务状态反馈成功。");
|
return BaseWcsApiResponse.success("处理任务状态反馈成功。");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// @Transactional(rollbackFor = Exception.class)
|
||||||
|
// public BaseWcsApiResponse sendTaskResult(WcsTaskResultRequest wcsTaskResultRequest) {
|
||||||
|
// if (StringUtils.isEmpty(wcsTaskResultRequest.getTaskId()) || wcsTaskResultRequest.getTaskStatus() == null) {
|
||||||
|
// return BaseWcsApiResponse.error("请求缺少关键信息:任务号、任务状态。");
|
||||||
|
// }
|
||||||
|
// // 查询对应的wcs任务
|
||||||
|
// TAppWcsTask wcsTask = appWcsTaskService.getById(wcsTaskResultRequest.getTaskId());
|
||||||
|
// if (wcsTask == null) {
|
||||||
|
// return BaseWcsApiResponse.error("未找到对应的wcs任务。");
|
||||||
|
// }
|
||||||
|
// // 转换堆垛机任务状态
|
||||||
|
// int wmsTaskStatus = ConvertUtils.convertWcsStackerTaskStatusToWmsTaskStatus(wcsTaskResultRequest.getTaskStatus());
|
||||||
|
// if (wmsTaskStatus == -1) {
|
||||||
|
// return BaseWcsApiResponse.error("反馈的任务状态值无效。");
|
||||||
|
// }
|
||||||
|
// // 判断反馈的任务状态是否是「已完成」
|
||||||
|
// if (Objects.equals(wcsTaskResultRequest.getTaskStatus(), WcsStackerTaskStatusEnums.FINISH.getCode())) {
|
||||||
|
// // 更新wms任务状态
|
||||||
|
// appWmsTaskService.update(
|
||||||
|
// new LambdaUpdateWrapper<TAppTask>()
|
||||||
|
// .set(TAppTask::getTaskStatus, WmsStackerTaskStatusEnums.FINISH.getCode())
|
||||||
|
// .set(TAppTask::getFinishTime, LocalDateTime.now())
|
||||||
|
// .eq(TAppTask::getWcsTaskId, wcsTaskResultRequest.getTaskId())
|
||||||
|
// );
|
||||||
|
// // 移除wcs任务,并向wcs备份表添加记录
|
||||||
|
// TAppWcsTaskBak wcsTaskBak = new TAppWcsTaskBak(
|
||||||
|
// wcsTask.getWcsTaskId(),
|
||||||
|
// wcsTask.getWcsTaskStatus(),
|
||||||
|
// wcsTask.getWcsTaskType(),
|
||||||
|
// wcsTask.getTaskPriority(),
|
||||||
|
// wcsTask.getVehicleId(),
|
||||||
|
// wcsTask.getOrigin(),
|
||||||
|
// wcsTask.getDestination(),
|
||||||
|
// wcsTask.getCreateTime(),
|
||||||
|
// wcsTask.getSendTime(),
|
||||||
|
// wcsTask.getFinishTime(),
|
||||||
|
// wcsTask.getRemark()
|
||||||
|
// );
|
||||||
|
// appWcsTaskService.removeById(wcsTask.getWcsTaskId());
|
||||||
|
// appWcsTaskBakService.save(wcsTaskBak);
|
||||||
|
// } else {
|
||||||
|
// // 更新wms任务状态
|
||||||
|
// appWmsTaskService.update(
|
||||||
|
// new LambdaUpdateWrapper<TAppTask>()
|
||||||
|
// .set(TAppTask::getTaskStatus, wmsTaskStatus)
|
||||||
|
// .eq(TAppTask::getWcsTaskId, wcsTaskResultRequest.getTaskId())
|
||||||
|
// );
|
||||||
|
// // 更新wcs任务状态
|
||||||
|
// appWcsTaskService.update(
|
||||||
|
// new LambdaUpdateWrapper<TAppWcsTask>()
|
||||||
|
// .set(TAppWcsTask::getWcsTaskStatus, wcsTaskResultRequest.getTaskStatus())
|
||||||
|
// .eq(TAppWcsTask::getWcsTaskId, wcsTaskResultRequest.getTaskId())
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// return BaseWcsApiResponse.success("处理任务状态反馈成功。");
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实现
|
* 实现
|
||||||
* 调用EWM系统获取入库具体信息
|
* 调用EWM系统获取入库具体信息
|
||||||
|
|
@ -2354,6 +2441,9 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
|
||||||
if (inventoryConfirmRequest == null) {
|
if (inventoryConfirmRequest == null) {
|
||||||
return BaseWmsApiResponse.error("请求信息为空。");
|
return BaseWmsApiResponse.error("请求信息为空。");
|
||||||
}
|
}
|
||||||
|
if (StringUtils.isEmpty(inventoryConfirmRequest.getInventoryId())) {
|
||||||
|
return BaseWmsApiResponse.error("请求信息缺少关键信息,请刷新后重试!");
|
||||||
|
}
|
||||||
if (StringUtils.isEmpty(inventoryConfirmRequest.getStandId())) {
|
if (StringUtils.isEmpty(inventoryConfirmRequest.getStandId())) {
|
||||||
return BaseWmsApiResponse.error("请求信息缺少站台号。");
|
return BaseWmsApiResponse.error("请求信息缺少站台号。");
|
||||||
}
|
}
|
||||||
|
|
@ -2437,9 +2527,9 @@ public class TaskControllerServiceImpl implements ITaskControllerService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 查询库存获得当前载具中存储的库存列表
|
// 查询库存获得当前载具中存储的库存列表
|
||||||
LambdaQueryWrapper<TAppStock> stockQueryWrapper = new LambdaQueryWrapper<TAppStock>()
|
// LambdaQueryWrapper<TAppStock> stockQueryWrapper = new LambdaQueryWrapper<TAppStock>()
|
||||||
.eq(TAppStock::getVehicleId, thisPickTask.getVehicleId());
|
// .eq(TAppStock::getVehicleId, thisPickTask.getVehicleId());
|
||||||
List<TAppStock> stockList = appStockService.list(stockQueryWrapper);
|
//List<TAppStock> stockList = appStockService.list(stockQueryWrapper);
|
||||||
// // 界面直接点击确认/放行
|
// // 界面直接点击确认/放行
|
||||||
// if (!stockList.isEmpty()) {
|
// if (!stockList.isEmpty()) {
|
||||||
// // 判断是否还有其他盘点任务
|
// // 判断是否还有其他盘点任务
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user