rev:任务状态反馈修改

This commit is contained in:
zhangzq
2025-02-06 15:17:15 +08:00
parent 3a312c34a3
commit 66552cbb1b

View File

@@ -83,7 +83,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class AcsToWmsServiceImpl implements AcsToWmsService { public class AcsToWmsServiceImpl implements AcsToWmsService {
private static Interner<String> Heap_Lock = Interners.newWeakInterner(); private static Map<String,String> Task_Status_Convers = MapOf.of("1",TaskStatusEnum.EXECUTING.getCode(),"2",TaskStatusEnum.FINISHED.getCode(),"3","0");
private final RawAssistIStorService rawAssistIStorService; private final RawAssistIStorService rawAssistIStorService;
@@ -185,38 +185,27 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
try { try {
if (tryLock) { if (tryLock) {
JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); JSONObject task = WQLObject.getWQLObject("SCH_BASE_Task")
.query("task_id = '" + task_id + "'")
.uniqueResult(0);
if (StrUtil.isNotEmpty(row.getString("car_no"))) { if (StrUtil.isNotEmpty(row.getString("car_no"))) {
taskObj.put("car_no", row.getString("car_no")); WQLObject.getWQLObject("SCH_BASE_Task")
WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj); .update(MapOf.of("car_no",row.getString("car_no")),"task_id = '" + task_id + "'");
} }
// 任务处理类 AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(task.getString("handle_class")));
String processing_class = taskObj.getString("handle_class"); abstractTask.updateTaskStatus(task,Task_Status_Convers.get(row.getString("task_status")));
AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(processing_class));
String status = "";
if ("1".equals(row.getString("task_status"))) {
status = TaskStatusEnum.EXECUTING.getCode();
}
if ("2".equals(row.getString("task_status"))) {
status = TaskStatusEnum.FINISHED.getCode();
}
if ("3".equals(row.getString("task_status"))) {
status = "0";
}
abstractTask.updateTaskStatus(taskObj,status);
} else { } else {
throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!"); throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!");
} }
}catch (Exception ex){ }catch (Exception ex){
WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'"); WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'");
log.error(task_id+"acs更新任务失败:{}", ex); log.error(task_id+"acs更新任务失败:{}", ex);
throw new BadRequestException(ex.getMessage()); throw ex;
}finally { }finally {
if (lock.isLocked() && lock.isHeldByCurrentThread()) { if (lock.isLocked() && lock.isHeldByCurrentThread()) {
lock.unlock(); lock.unlock();
} }
} }
} }
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("status", HttpStatus.OK.value()); result.put("status", HttpStatus.OK.value());